diff --git a/configure.ac b/configure.ac
index 2a324c99a466154a1823902d3be196e67c1aeb02..c3722509a40b4d16dab8c5dcf103463c1af9c187 100644
--- a/configure.ac
+++ b/configure.ac
@@ -787,9 +787,15 @@ AC_CONFIG_SUBDIRS(src/sftp)
 
 # Set these flags *last*, or else the test programs won't compile
 if test x$GCC = xyes ; then
-    CFLAGS="$CFLAGS -Wall -W \
- -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
- -Wpointer-arith -Wbad-function-cast -Wnested-externs"
+  # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
+  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
+    true
+  else
+    CFLAGS="$CFLAGS -ggdb3"
+  fi
+  CFLAGS="$CFLAGS -Wall -W \
+  -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
+  -Wpointer-arith -Wbad-function-cast -Wnested-externs"
 
 # Don't enable -Wcast-align as it results in tons of warnings in the
 # DES code. And when using stdio.