Index: /trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c
===================================================================
--- /trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c	(revision 58696)
+++ /trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c	(revision 58697)
@@ -1273,8 +1273,4 @@
     char        szMsg[512];
 
-    /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
-    if (!RTThreadPreemptIsEnabled(NIL_RTTHREAD))
-        return 0;
-
     va_start(args, pszFormat);
     RTStrPrintfV(szMsg, sizeof(szMsg) - 1, pszFormat, args);
@@ -1282,5 +1278,9 @@
 
     szMsg[sizeof(szMsg) - 1] = '\0';
-    cmn_err(CE_CONT, "%s", szMsg);
+    /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
+    if (RTThreadPreemptIsEnabled(NIL_RTTHREAD))
+        cmn_err(CE_CONT, "%s", szMsg);
+    else
+        cmn_err(CE_CONT, "[!BadPreemptCtx!] %s", szMsg);
     return 0;
 }
Index: /trunk/src/VBox/Runtime/r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c
===================================================================
--- /trunk/src/VBox/Runtime/r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c	(revision 58696)
+++ /trunk/src/VBox/Runtime/r0drv/solaris/RTLogWriteDebugger-r0drv-solaris.c	(revision 58697)
@@ -47,8 +47,4 @@
         AssertBreakpoint();
 
-    /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
-    if (!RTThreadPreemptIsEnabled(NIL_RTTHREAD))
-        return;
-
     if (    !g_frtSolSplSetsEIF
 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86)
@@ -59,5 +55,9 @@
         )
     {
-        cmn_err(CE_CONT, pch);
+        /* cmn_err() acquires adaptive mutexes. Not preemption safe, see @bugref{6657}. */
+        if (RTThreadPreemptIsEnabled(NIL_RTTHREAD))
+            cmn_err(CE_CONT, pch);
+        else
+            cmn_err(CE_CONT, "[!BadPreemptCtx!] %s", pch);
     }
 
