diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 56aa24d5ff65c28d464848bfa709ab0f13a4b58d..daec05e83396cf9da8c051b911199ea91d7591c7 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2003-01-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+	* g++.dg/lookup/two-stage1.C: New test.
+
 2003-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* g++.old-deja/g++.bugs/900404_04.C: Remove XFAIL.
diff --git a/gcc/testsuite/g++.dg/lookup/two-stage1.C b/gcc/testsuite/g++.dg/lookup/two-stage1.C
new file mode 100644
index 0000000000000000000000000000000000000000..db7117656a9a866f0c2e3764f00c171fb9f490ee
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/two-stage1.C
@@ -0,0 +1,18 @@
+/* PR c++/2437 */
+/* { dg-do run } */
+
+// Test of two-stage name lookup.
+
+int g(double) { return 0; }
+ 
+template <class T> struct X
+{
+  int f() { return g(2); } // should call g(double)
+};
+ 
+inline int g(int) { return 1; }
+ 
+int main()
+{
+  return X<int>().f(); // should call g(double), but used to call g(int)
+}