Index: /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c	(revision 57604)
+++ /trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c	(revision 57605)
@@ -253,7 +253,9 @@
     RTLogDestroy(RTLogSetDefaultInstance(NULL));
 
-    mutex_destroy(&g_LdiMtx);
-
-    RTR0Term();
+    if (!rc)
+    {
+        mutex_destroy(&g_LdiMtx);
+        RTR0Term();
+    }
     return rc;
 }
Index: /trunk/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
===================================================================
--- /trunk/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c	(revision 57604)
+++ /trunk/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c	(revision 57605)
@@ -156,5 +156,6 @@
     cmn_err(CE_NOTE, DEVICE_NAME ":_fini\n");
     int rc = mod_remove(&g_VBoxVideoSolarisModLinkage);
-    ddi_soft_state_fini(&g_pVBoxVideoSolarisState);
+    if (!rc)
+        ddi_soft_state_fini(&g_pVBoxVideoSolarisState);
     return rc;
 }
Index: /trunk/src/VBox/Additions/solaris/Mouse/vboxms.c
===================================================================
--- /trunk/src/VBox/Additions/solaris/Mouse/vboxms.c	(revision 57604)
+++ /trunk/src/VBox/Additions/solaris/Mouse/vboxms.c	(revision 57605)
@@ -292,5 +292,6 @@
     LogRelFlow((DEVICE_NAME ":_fini\n"));
     rc = mod_remove(&g_vbmsSolModLinkage);
-    mutex_destroy(&g_OpenNodeState.InitMtx);
+    if (!rc)
+        mutex_destroy(&g_OpenNodeState.InitMtx);
 
     return rc;
