Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 49865)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 49866)
@@ -13849,5 +13849,5 @@
     </method>
 
-    <method name="close">
+    <method name="close" wrap-hint-server="passcaller">
       <desc>
         Closes this medium.
Index: /trunk/src/VBox/Main/include/MediumImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MediumImpl.h	(revision 49865)
+++ /trunk/src/VBox/Main/include/MediumImpl.h	(revision 49866)
@@ -239,5 +239,5 @@
     HRESULT lockRead(ComPtr<IToken> &aToken);
     HRESULT lockWrite(ComPtr<IToken> &aToken);
-    HRESULT close();
+    HRESULT close(AutoCaller &aAutoCaller);
     HRESULT getProperty(const com::Utf8Str &aName,
                         com::Utf8Str &aValue);
Index: /trunk/src/VBox/Main/src-server/MediumImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 49865)
+++ /trunk/src/VBox/Main/src-server/MediumImpl.cpp	(revision 49866)
@@ -2146,13 +2146,10 @@
 }
 
-HRESULT Medium::close()
-{
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
+HRESULT Medium::close(AutoCaller &aAutoCaller)
+{
     // make a copy of VirtualBox pointer which gets nulled by uninit()
     ComObjPtr<VirtualBox> pVirtualBox(m->pVirtualBox);
 
-    MultiResult mrc = i_close(autoCaller);
+    MultiResult mrc = i_close(aAutoCaller);
 
     pVirtualBox->saveModifiedRegistries();
