diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index cedf5312014f..3994a3a45848 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-21  Jason Merrill  <jason@redhat.com>
+
+	* mangle.c (write_expression) [SCOPE_REF]: Only do -fabi-version=1
+	special handling if we know the member.
+
 2010-09-18  Jason Merrill  <jason@redhat.com>
 
 	* call.c (compare_ics): Do lvalue/rvalue reference binding
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 03e28374810e..39001c56a7d0 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -2491,7 +2491,7 @@ write_expression (tree expr)
       tree scope = TREE_OPERAND (expr, 0);
       tree member = TREE_OPERAND (expr, 1);
 
-      if (!abi_version_at_least (2))
+      if (!abi_version_at_least (2) && DECL_P (member))
 	{
 	  write_string ("sr");
 	  write_type (scope);