Index: /trunk/src/VBox/Installer/solaris/preremove.sh
===================================================================
--- /trunk/src/VBox/Installer/solaris/preremove.sh	(revision 25645)
+++ /trunk/src/VBox/Installer/solaris/preremove.sh	(revision 25646)
@@ -20,5 +20,5 @@
 currentzone=`zonename`
 if test "$currentzone" = "global"; then
-    echo "Removing VirtualBox drivers and services..."
+    echo "Removing VirtualBox services and drivers..."
     /opt/VirtualBox/vboxconfig.sh --preremove
     if test "$?" -eq 0; then
Index: /trunk/src/VBox/Installer/solaris/vboxconfig.sh
===================================================================
--- /trunk/src/VBox/Installer/solaris/vboxconfig.sh	(revision 25645)
+++ /trunk/src/VBox/Installer/solaris/vboxconfig.sh	(revision 25646)
@@ -193,5 +193,7 @@
     fi
 
-    loadentry=`cat /etc/name_to_major | grep $1`
+    # Add a space at end of module name to make sure we have a perfect match to avoid
+    # any substring matches: e.g "vboxusb" & "vboxusbmon"
+    loadentry=`cat /etc/name_to_major | grep "$1 "`
     if test -z "$loadentry"; then
         return 1
@@ -210,6 +212,6 @@
 
     modname=$1
-    # modinfo should now work properly since we prevent module autounloading
-    loadentry=`$BIN_MODINFO | grep $modname`
+    # modinfo should now work properly since we prevent module autounloading.
+    loadentry=`$BIN_MODINFO | grep "$modname "`
     if test -z "$loadentry"; then
         return 1
@@ -301,5 +303,5 @@
     moddesc=$2
     fatal=$3
-    modid=`$BIN_MODINFO | grep $modname | cut -f 1 -d ' ' `
+    modid=`$BIN_MODINFO | grep "$modname " | cut -f 1 -d ' ' `
     if test -n "$modid"; then
         $BIN_MODUNLOAD -i $modid
@@ -307,5 +309,5 @@
             subprint "Unloaded: $moddesc module"
         else
-            subprint "Unloading: $moddesc  ...FAILED!"
+            subprint "Unloading: $moddesc module ...FAILED!"
             if test "$fatal" = "$FATALOP"; then
                 exit 1
