diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c8edabec505471d3ec34c29efdb96d9382f3339f..8c9481685e129270fa1f55cad0e8f3fd22da3631 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-06-05  Michal Ludvig  <mludvig@suse.cz>
+
+	* x86-64-tdep.c (x86_64_push_arguments): Don't clear offset
+	in each pass.
+
 2003-06-05  Jeff Johnston  <jjohnstn@redhat.com>
 
 	* thread-db.c (check_event): For create/death event breakpoints,
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index f01be3dd62ab99b00162644c297e8ff7687b53eb..88575d5672510093086e696b4a4a700ebf868f3f 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -623,9 +623,9 @@ x86_64_push_arguments (struct regcache *regcache, int nargs,
       else
 	{
 	  int j;
+	  int offset = 0;
 	  for (j = 0; j < n; j++)
 	    {
-	      int offset = 0;
 	      switch (class[j])
 		{
 		case X86_64_NO_CLASS: