--- libapache-mod-perl-1.27.orig/src/modules/perl/mod_perl.c
+++ libapache-mod-perl-1.27/src/modules/perl/mod_perl.c
@@ -256,6 +256,7 @@
 void perl_shutdown (server_rec *s, pool *p)
 {
     char *pdl = NULL;
+    int destruct_level;
 
     if((pdl = getenv("PERL_DESTRUCT_LEVEL")))
 	perl_destruct_level = atoi(pdl);
@@ -266,9 +267,14 @@
 	return;
     }
 
+    destruct_level = perl_destruct_level;
     /* execute END blocks we suspended during perl_startup() */
     perl_run_endav("perl_shutdown"); 
 
+    if (perl_destruct_level != destruct_level)
+	fprintf (stderr, "[warning] Perl module's END block clobbered perl_destruct_level (buggy DBD::Pg?)\n");
+    perl_destruct_level = destruct_level;
+
     MP_TRACE_g(fprintf(stderr, 
 		     "destructing and freeing Perl interpreter (level=%d)...",
 	       perl_destruct_level));

