diff --git a/sm5/scsicmds.cpp b/sm5/scsicmds.cpp
index 196158c4356ed62ece8945ab50b3db606ac2e81f..9af2012ef68fe00c8fe08da8df6fd69451079cf7 100644
--- a/sm5/scsicmds.cpp
+++ b/sm5/scsicmds.cpp
@@ -47,7 +47,7 @@
 #include "scsicmds.h"
 #include "utility.h"
 
-const char *scsicmds_c_cvsid="$Id: scsicmds.cpp,v 1.93 2007/03/22 12:06:15 dpgilbert Exp $"
+const char *scsicmds_c_cvsid="$Id: scsicmds.cpp,v 1.94 2007/03/23 03:47:28 dpgilbert Exp $"
 CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
 
 /* for passing global control variables */
@@ -116,8 +116,8 @@ static struct scsi_opcode_name opcode_name_arr[] = {
     {TEST_UNIT_READY, "test unit ready"},       /* 0x00 */
     {REQUEST_SENSE, "request sense"},           /* 0x03 */
     {INQUIRY, "inquiry"},                       /* 0x12 */
-    {MODE_SELECT, "mode select"},               /* 0x15 */
-    {MODE_SENSE, "mode sense"},                 /* 0x1a */
+    {MODE_SELECT, "mode select(6)"},            /* 0x15 */
+    {MODE_SENSE, "mode sense(6)"},              /* 0x1a */
     {RECEIVE_DIAGNOSTIC, "receive diagnostic"}, /* 0x1c */
     {SEND_DIAGNOSTIC, "send diagnostic"},       /* 0x1d */
     {READ_DEFECT_10, "read defect list(10)"},   /* 0x37 */
@@ -171,6 +171,9 @@ void scsi_do_sense_disect(const struct scsi_cmnd_io * io_buf,
 int scsiSimpleSenseFilter(const struct scsi_sense_disect * sinfo)
 {
     switch (sinfo->sense_key) {
+    case SCSI_SK_NO_SENSE:
+    case SCSI_SK_RECOVERED_ERR:
+        return SIMPLE_NO_ERROR;
     case SCSI_SK_NOT_READY:
         if (SCSI_ASC_NO_MEDIUM == sinfo->asc) 
             return SIMPLE_ERR_NO_MEDIUM;
@@ -195,8 +198,10 @@ int scsiSimpleSenseFilter(const struct scsi_sense_disect * sinfo)
             return SIMPLE_ERR_BAD_PARAM;    /* all other illegal request */
     case SCSI_SK_UNIT_ATTENTION:
         return SIMPLE_ERR_TRY_AGAIN;
+    case SCSI_SK_ABORTED_COMMAND:
+        return SIMPLE_ERR_ABORTED_COMMAND;
     default:
-        return SIMPLE_NO_ERROR;
+        return SIMPLE_ERR_UNKNOWN;
     }
 }
 
@@ -225,6 +230,10 @@ const char * scsiErrString(int scsiErr)
             return "unit attention reported, try again";
         case SIMPLE_ERR_MEDIUM_HARDWARE: 
             return "medium or hardware error (serious)";
+        case SIMPLE_ERR_UNKNOWN: 
+            return "unknown error (unexpected sense key)";
+        case SIMPLE_ERR_ABORTED_COMMAND: 
+            return "aborted command (transport problem?)";
         default:
             return "unknown error";
     }