diff -NrU5 pcre-7.7.orig/pcre_compile.c pcre-7.7/pcre_compile.c
--- pcre-7.7.orig/pcre_compile.c	2008-06-18 17:08:49.000000000 +0200
+++ pcre-7.7/pcre_compile.c	2008-06-18 17:11:04.000000000 +0200
@@ -4929,11 +4929,11 @@
           {
           if (code == cd->start_code + 1 + LINK_SIZE &&
                (lengthptr == NULL || *lengthptr == 2 + 2*LINK_SIZE))
             {
             cd->external_options = newoptions;
-            options = newoptions;
+            options = *optionsptr = newoptions;
             }
          else
             {
             if ((options & PCRE_IMS) != (newoptions & PCRE_IMS))
               {