diff --git a/migration.c b/migration.c
index c18d595842..df5e6389de 100644
--- a/migration.c
+++ b/migration.c
@@ -80,7 +80,7 @@ void do_migrate(Monitor *mon, int detach, const char *uri)
     }
 }
 
-void do_migrate_cancel(Monitor *mon)
+void do_migrate_cancel(Monitor *mon, const QDict *qdict)
 {
     MigrationState *s = current_migration;
 
diff --git a/migration.h b/migration.h
index 96dad38eb5..431b7ecedd 100644
--- a/migration.h
+++ b/migration.h
@@ -14,6 +14,7 @@
 #ifndef QEMU_MIGRATION_H
 #define QEMU_MIGRATION_H
 
+#include "qdict.h"
 #include "qemu-common.h"
 
 #define MIG_STATE_ERROR		-1
@@ -51,7 +52,7 @@ void qemu_start_incoming_migration(const char *uri);
 
 void do_migrate(Monitor *mon, int detach, const char *uri);
 
-void do_migrate_cancel(Monitor *mon);
+void do_migrate_cancel(Monitor *mon, const QDict *qdict);
 
 void do_migrate_set_speed(Monitor *mon, const char *value);
 
diff --git a/monitor.c b/monitor.c
index 727848d027..2b55c4c291 100644
--- a/monitor.c
+++ b/monitor.c
@@ -426,7 +426,7 @@ static void do_info_cpu_stats(Monitor *mon)
 }
 #endif
 
-static void do_quit(Monitor *mon)
+static void do_quit(Monitor *mon, const QDict *qdict)
 {
     exit(0);
 }
@@ -559,7 +559,7 @@ static void do_singlestep(Monitor *mon, const char *option)
     }
 }
 
-static void do_stop(Monitor *mon)
+static void do_stop(Monitor *mon, const QDict *qdict)
 {
     vm_stop(EXCP_INTERRUPT);
 }
@@ -571,7 +571,7 @@ struct bdrv_iterate_context {
     int err;
 };
 
-static void do_cont(Monitor *mon)
+static void do_cont(Monitor *mon, const QDict *qdict)
 {
     struct bdrv_iterate_context context = { mon, 0 };
 
@@ -587,7 +587,7 @@ static void bdrv_key_cb(void *opaque, int err)
 
     /* another key was set successfully, retry to continue */
     if (!err)
-        do_cont(mon);
+        do_cont(mon, NULL);
 }
 
 static void encrypted_bdrv_it(void *opaque, BlockDriverState *bs)
@@ -1238,12 +1238,12 @@ static void do_boot_set(Monitor *mon, const char *bootdevice)
     }
 }
 
-static void do_system_reset(Monitor *mon)
+static void do_system_reset(Monitor *mon, const QDict *qdict)
 {
     qemu_system_reset_request();
 }
 
-static void do_system_powerdown(Monitor *mon)
+static void do_system_powerdown(Monitor *mon, const QDict *qdict)
 {
     qemu_system_powerdown_request();
 }
@@ -2554,7 +2554,7 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
     QDict *qdict;
     void *str_allocated[MAX_ARGS];
     void *args[MAX_ARGS];
-    void (*handler_0)(Monitor *mon);
+    void (*handler_d)(Monitor *mon, const QDict *qdict);
     void (*handler_1)(Monitor *mon, void *arg0);
     void (*handler_2)(Monitor *mon, void *arg0, void *arg1);
     void (*handler_3)(Monitor *mon, void *arg0, void *arg1, void *arg2);
@@ -2848,8 +2848,8 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
     qemu_errors_to_mon(mon);
     switch(nb_args) {
     case 0:
-        handler_0 = cmd->handler;
-        handler_0(mon);
+        handler_d = cmd->handler;
+        handler_d(mon, qdict);
         break;
     case 1:
         handler_1 = cmd->handler;