diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 7010999..aa90eff 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -683,10 +683,6 @@ int kvm_arch_put_registers(CPUState *env)
     if (ret < 0)
         return ret;
 
-    ret = kvm_get_mp_state(env);
-    if (ret < 0)
-        return ret;
-
     return 0;
 }
 
@@ -710,6 +706,10 @@ int kvm_arch_get_registers(CPUState *env)
     if (ret < 0)
         return ret;
 
+    ret = kvm_get_mp_state(env);
+    if (ret < 0)
+        return ret;
+
     return 0;
 }
 
