diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 92c93f494f5..c28b24053ca 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-07-19  Pedro Alves  <palves@redhat.com>
+
+	* guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
+	forwarding reference.
+
 2018-07-18  Pedro Alves  <palves@redhat.com>
 
 	* guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h
index 20e002a28e2..38671bfd881 100644
--- a/gdb/guile/guile-internal.h
+++ b/gdb/guile/guile-internal.h
@@ -672,7 +672,7 @@ extern void gdbscm_initialize_values (void);
 
 template<typename Function, typename... Args>
 SCM
-gdbscm_wrap (Function &&func, Args... args)
+gdbscm_wrap (Function &&func, Args &&... args)
 {
   SCM result = SCM_BOOL_F;