Index: /trunk/src/VBox/Main/src-server/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 46824)
+++ /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 46825)
@@ -1735,5 +1735,15 @@
     rc = onVideoCaptureChange();
     alock.acquire();
-    if (FAILED(rc)) return rc;
+    if (FAILED(rc))
+    {
+        /*
+         * Normally we would do the actual change _after_ onVideoCaptureChange() succeeded.
+         * We cannot do this because that function uses Machine::GetVideoCaptureEnabled to
+         * determine if it should start or stop capturing. Therefore we need to manually
+         * undo change.
+         */
+        mHWData->mVideoCaptureEnabled = mHWData.backedUpData()->mVideoCaptureEnabled;
+        return rc;
+    }
 
     /** Save settings if online - @todo why is this required? -- @bugref{6818} */
