diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 087feed8da173f9a6d064d4f51c169576034befe..e289f1a46851a1a4367ea1fb8c5210811f0e7af1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+	* gcc.dg/cpp/macro11.c: New test.
+
 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
 
 	* g++.dg/warn/format2.C, gcc.dg/format/attr-7.c,
diff --git a/gcc/testsuite/gcc.dg/cpp/macro11.c b/gcc/testsuite/gcc.dg/cpp/macro11.c
new file mode 100644
index 0000000000000000000000000000000000000000..b131223b932f498a2d7965840ee9d9709dec4894
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/macro11.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2001 Free Software Foundation, Inc.  */
+
+/* { dg-do preprocess } */
+
+/* Source: Neil Booth, 2 Oct 2001.
+
+   Tests that we clear the disabled flag that is set by the
+   macro-defined-to-itself optimization (the optimization might not be
+   worth it).  */
+
+#define foo foo
+#undef foo
+#define foo 1
+#if !foo
+#error foo still disabled! 
+#endif