diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c99b9a01fcb66051340432f5aadf63e07581bc26..2a5d960278d2a7b903c9b302a6eb1329b252299a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2000-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* init.c (resolve_offset_ref): Deal with TEMPLATE_ID_EXPR.
+
 2000-09-04  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* pt.c (lookup_template_class): Remove abort.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 097deb7028b483b755c94f27aef7c663895b408c..91449c1732056d38f4a410c1e108f5ddc2e1c1ef 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -1812,7 +1812,7 @@ resolve_offset_ref (exp)
       base = current_class_ref;
     }
 
-  if (BASELINK_P (member))
+  if (BASELINK_P (member) || TREE_CODE (member) == TEMPLATE_ID_EXPR)
     return build_unary_op (ADDR_EXPR, exp, 0);
   
   if (TREE_CODE (TREE_TYPE (member)) == METHOD_TYPE)
@@ -1824,7 +1824,7 @@ resolve_offset_ref (exp)
       
       return build_unary_op (ADDR_EXPR, exp, 0);
     }
-
+  
   if ((TREE_CODE (member) == VAR_DECL
        && ! TYPE_PTRMEMFUNC_P (TREE_TYPE (member))
        && ! TYPE_PTRMEM_P (TREE_TYPE (member)))