Index: /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp
===================================================================
--- /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp (revision 43799)
+++ /trunk/boost/xpressive/detail/utility/hash_peek_bitset.hpp (revision 48141)
@@ -105,5 +105,8 @@
     void set_bitset(hash_peek_bitset<Char> const &that)
     {
-        this->bset_ |= that.bset_;
+        if(this->test_icase_(that.icase()))
+        {
+            this->bset_ |= that.bset_;
+        }
     }
 
Index: /trunk/libs/xpressive/test/regress.txt
===================================================================
--- /trunk/libs/xpressive/test/regress.txt (revision 47901)
+++ /trunk/libs/xpressive/test/regress.txt (revision 48141)
@@ -3739,2 +3739,12 @@
 br0=c
 [end]
+
+[nocasealternate]
+str=common HighLight and Blow this
+pat=highlight|blow
+flg=ig
+sub=<b>$&</b>
+res=common <b>HighLight</b> and <b>Blow</b> this
+br0=HighLight
+br1=Blow
+[end]
