diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index ec7f2ececb88c99e32bc34c9cb95849da178dc0c..05577d5dc47d9f657db53534a84544608866f1e2 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,10 @@
+2005-12-13  Andrew Haley  <aph@redhat.com>
+
+	PR java/25366
+	PR java/25368
+	* class.c (maybe_layout_super_class): Update current_class before
+	calling do_resolve_class.
+
 2005-12-12  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR java/25330
diff --git a/gcc/java/class.c b/gcc/java/class.c
index fbf5ed204c6c45a93f84a0ff1d87856800a864c6..ff2c1eb512832617230138d627fc56172b519556 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -2085,6 +2085,9 @@ maybe_layout_super_class (tree super_class, tree this_class)
 	     we give it one.  */
 	  tree this_wrap = NULL_TREE;
 
+	  /* Set the correct context for class resolution.  */
+	  current_class = this_class;
+
 	  if (this_class)
 	    {
 	      tree this_decl = TYPE_NAME (this_class);