diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py
index fc7abbcfa9b3acc202059f2ab2bb30dd46983d55..8b0c33889f36922cbf7db315afad918bf523811e 100755
--- a/qa/ganeti-qa.py
+++ b/qa/ganeti-qa.py
@@ -225,6 +225,12 @@ def RunCommonInstanceTests(instance):
             qa_rapi.TestRapiStoppedInstanceConsole, instance)
   RunTestIf("instance-shutdown", qa_instance.TestInstanceStartup, instance)
 
+  # Test shutdown/start via RAPI
+  RunTestIf(["instance-shutdown", "rapi"],
+            qa_rapi.TestRapiInstanceShutdown, instance)
+  RunTestIf(["instance-shutdown", "rapi"],
+            qa_rapi.TestRapiInstanceStartup, instance)
+
   RunTestIf("instance-list", qa_instance.TestInstanceList)
 
   RunTestIf("instance-info", qa_instance.TestInstanceInfo, instance)
diff --git a/qa/qa_rapi.py b/qa/qa_rapi.py
index ece6e645277af5d0d2c2d8f272ba01d84543d1ed..02218463c349dacf27c39e0052ef1d4c9a18e83e 100644
--- a/qa/qa_rapi.py
+++ b/qa/qa_rapi.py
@@ -598,6 +598,16 @@ def TestRapiInstanceFailover(instance):
   _WaitForRapiJob(_rapi_client.FailoverInstance(instance["name"]))
 
 
+def TestRapiInstanceShutdown(instance):
+  """Test stopping an instance via RAPI"""
+  _WaitForRapiJob(_rapi_client.ShutdownInstance(instance["name"]))
+
+
+def TestRapiInstanceStartup(instance):
+  """Test starting an instance via RAPI"""
+  _WaitForRapiJob(_rapi_client.StartupInstance(instance["name"]))
+
+
 def TestRapiInstanceRename(rename_source, rename_target):
   """Test renaming instance via RAPI"""
   _WaitForRapiJob(_rapi_client.RenameInstance(rename_source, rename_target))