diff -Naur httpd-2.2.22.orig/server/util_pcre.c httpd-2.2.22/server/util_pcre.c
--- httpd-2.2.22.orig/server/util_pcre.c	2012-06-29 16:32:47.000000000 -0400
+++ httpd-2.2.22/server/util_pcre.c	2012-06-29 16:33:28.000000000 -0400
@@ -128,6 +128,7 @@
 const char *errorptr;
 int erroffset;
 int options = 0;
+int nsub;
 
 if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS;
 if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE;
@@ -137,7 +138,9 @@
 
 if (preg->re_pcre == NULL) return AP_REG_INVARG;
 
-preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
+pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
+PCRE_INFO_CAPTURECOUNT, &nsub);
+preg->re_nsub = nsub; 
 return 0;
 }
 
