diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 5162d669db379d3c80e8a6fda8a277d727483b1f..bce385b48457000040c198686a725c834b6b6d02 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-04  Tom Tromey  <tromey@redhat.com>
+
+	PR java/26097:
+	* expr.c (push_type): Avoid side effect in gcc_assert.
+
 2006-02-04  Roger Sayle  <roger@eyesopen.com>
 
 	* decl.c (java_init_decl_processing): Create char_type_node as a
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 6d8926cdef4ee2d4327da945152e12c6b437594a..5e7699b87d8c8ed32e478e664055ed82286605c9 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1,5 +1,5 @@
 /* Process expressions for the GNU compiler for the Java(TM) language.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -273,7 +273,8 @@ push_type_0 (tree type)
 void
 push_type (tree type)
 {
-  gcc_assert (push_type_0 (type));
+  int r = push_type_0 (type);
+  gcc_assert (r);
 }
 
 static void