diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index c048dfada2ceb3201db8c191abd0dbbfa52f0eb2..ac40484293a9ad0c40e57452c1433406d36f684a 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2004-01-28  Andrew Haley  <aph@redhat.com>
+
+	* expr.c (build_field_ref): Widen field offset.
+
 2004-01-27  Andrew Haley  <aph@redhat.com>
 
 	java/13273
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 6b1c0325b0d605f7f21e1b1642257ebb02b7659c..fe776688779ecc3997b303988d5babcdb72ef6e9 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -1523,6 +1523,7 @@ build_field_ref (tree self_value, tree self_class, tree name)
 	  tree field_offset = 
 	    build (ARRAY_REF, integer_type_node, TYPE_OTABLE_DECL (output_class), 
 		   otable_index);
+	  field_offset = fold (convert (sizetype, field_offset));
 	  tree address 
 	    = fold (build (PLUS_EXPR, 
 			   build_pointer_type (TREE_TYPE (field_decl)),