--- /dev/null
+--TEST--
+preg_replace() with array of failing regular expressions
+--FILE--
+<?php
+
+$text = '[CODE]<td align="$stylevar[right]">[/CODE]';
+$result = preg_replace(array('#\[(right)\](((?R)|[^[]+?|\[)*)\[/\\1\]#siU', '#\[(right)\](((?R)|[^[]+?|\[)*)\[/\\1\]#siU'), '', $text);
+var_dump($text);
+var_dump($result);
+
+$result = preg_replace('#\[(right)\](((?R)|[^[]+?|\[)*)\[/\\1\]#siU', '', $text);
+var_dump($text);
+var_dump($result);
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(58) "[CODE]<td align="$stylevar[right]">[/CODE]"
+NULL
+string(58) "[CODE]<td align="$stylevar[right]">[/CODE]"
+NULL
+Done
+--UEXPECTF--
+unicode(58) "[CODE]<td align="$stylevar[right]">[/CODE]"
+NULL
+unicode(58) "[CODE]<td align="$stylevar[right]">[/CODE]"
+NULL
+Done