Index: /trunk/src/VBox/Main/include/GuestProcessImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/GuestProcessImpl.h	(revision 71563)
+++ /trunk/src/VBox/Main/include/GuestProcessImpl.h	(revision 71564)
@@ -216,4 +216,6 @@
     int init(GuestSession *pGuestSession, const GuestProcessStartupInfo &startupInfo, bool fAsync, int *pGuestRc);
 
+    void uninit(void);
+
     int getCurrentBlock(uint32_t uHandle, GuestProcessStreamBlock &strmBlock);
 
Index: /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 71563)
+++ /trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp	(revision 71564)
@@ -1958,12 +1958,5 @@
 GuestProcessTool::~GuestProcessTool(void)
 {
-     if (!pProcess.isNull())
-     {
-         /* Terminate (and unregister) process. */
-         pProcess->uninit();
-
-         /* Release reference. */
-         pProcess.setNull();
-     }
+    uninit();
 }
 
@@ -2004,4 +1997,19 @@
     LogFlowFuncLeaveRC(vrc);
     return vrc;
+}
+
+void GuestProcessTool::uninit(void)
+{
+    if (!pProcess.isNull())
+    {
+        /* Terminate (and unregister) process. */
+        pProcess->uninit();
+
+        /* Release reference. */
+        pProcess.setNull();
+    }
+
+    if (pSession)
+        pSession.setNull();
 }
 
