Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp	(revision 46684)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp	(revision 46685)
@@ -2496,5 +2496,18 @@
             case MODIFYVM_VCP_FILENAME:
             {
-                Bstr bstr(ValueUnion.psz);
+                Bstr bstr;
+                /* empty string will fall through, leaving bstr empty */
+                if (*ValueUnion.psz)
+                {
+                    char szVCFileAbs[RTPATH_MAX] = "";
+                    int vrc = RTPathAbs(ValueUnion.psz, szVCFileAbs, sizeof(szVCFileAbs));
+                    if (RT_FAILURE(vrc))
+                    {
+                        errorArgument("Cannot convert filename \"%s\" to absolute path\n", ValueUnion.psz);
+                        rc = E_FAIL;
+                        break;
+                    }
+                    bstr = szVCFileAbs;
+                }
                 CHECK_ERROR(machine, COMSETTER(VideoCaptureFile)(bstr.raw()));
                 break;
