diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 8f40dfb8ac..b220e2d5d2 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -504,6 +504,10 @@ static void interface_set_mm_time(QXLInstance *sin, uint32_t mm_time)
 {
     PCIQXLDevice *qxl = container_of(sin, PCIQXLDevice, ssd.qxl);
 
+    if (!qemu_spice_display_is_running(&qxl->ssd)) {
+        return;
+    }
+
     trace_qxl_interface_set_mm_time(qxl->id, mm_time);
     qxl->shadow_rom.mm_clock = cpu_to_le32(mm_time);
     qxl->rom->mm_clock = cpu_to_le32(mm_time);
diff --git a/ui/spice-core.c b/ui/spice-core.c
index f00e0742b4..2e8384e653 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -804,6 +804,7 @@ void qemu_spice_init(void)
     qemu_spice_audio_init();
 
     qemu_add_vm_change_state_handler(vm_change_state_handler, NULL);
+    qemu_spice_display_stop();
 
     g_free(x509_key_file);
     g_free(x509_cert_file);