diff --git a/ChangeLog b/ChangeLog
index 15e0e89..ca1545a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-06-27  Richard B. Kreckel  <kreckel@ginac.de>
+
+	* include/cln/modules.h (CL_JUMP_TO): Fix AMD64 brokenness.
+
 2004-06-23  Bruno Haible  <bruno@clisp.org>
 
 	* configure.ac: Pretend ftime() is not available. Needed by
diff --git a/include/cln/modules.h b/include/cln/modules.h
index 26fc291..50f41a1 100644
--- a/include/cln/modules.h
+++ b/include/cln/modules.h
@@ -117,9 +117,12 @@
   // except that the latter inhibits inlining of the function containing it
   // in gcc-2.95. For new CPUs, look for "jump" and "indirect_jump" in gcc's
   // machine description.
-  #if defined(__i386__) || defined(__x86_64__)
+  #if defined(__i386__)
     #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %*%0" : : "rm" ((void*)(addr)))
   #endif
+  #if defined(__x86_64__)
+    #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp " #addr)
+  #endif
   #if defined(__m68k__)
     #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %0@" : : "a" ((void*)(addr)))
   #endif