Index: /trunk/src/VBox/Main/src-server/MediumImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 54944)
+++ /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 54945)
@@ -769,11 +769,19 @@
     HRESULT rc = pTask->handler();
 
-    /* complete the progress if run asynchronously */
+    /*
+     * save the progress reference if run asynchronously, since we want to
+     * destroy the task before we send out the completion notification.
+     * see @bugref{7763}
+     */
+    ComObjPtr<Progress> pProgress;
     if (pTask->isAsync())
-        if (!pTask->mProgress.isNull())
-            pTask->mProgress->i_notifyComplete(rc);
+        pProgress = pTask->mProgress;
 
     /* pTask is no longer needed, delete it. */
     delete pTask;
+
+    /* complete the progress if run asynchronously */
+    if (!pProgress.isNull())
+        pProgress->i_notifyComplete(rc);
 
     LogFlowFunc(("rc=%Rhrc\n", rc));
