diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index 009d527d7eb026bebcd9ccf294c84d9cf5081a39..f40bd580b4f38315b48cce4cc56fad7fa1e791e6 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.779 2009/03/03 20:23:55 chrfranke Exp $
+$Id: CHANGELOG,v 1.780 2009/03/06 22:23:04 chrfranke Exp $
 
 The most recent version of this file is:
 http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
@@ -41,6 +41,8 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [CF] Add forgotten SCSI sense checks to class usbjmicron_device.
+
   [CF] Add new SMART STATUS check command for JMicron USB bridges.
        Should support also older chip versions and prevents a race
        condition.
diff --git a/sm5/scsiata.cpp b/sm5/scsiata.cpp
index a2cb2e32c8d4a9bac0933f62c5ccc035062d661b..ddcf4e912721a3e6f1eccbf75b0f8ec99b5045ba 100644
--- a/sm5/scsiata.cpp
+++ b/sm5/scsiata.cpp
@@ -51,7 +51,7 @@
 #include "dev_ata_cmd_set.h" // ata_device_with_command_set
 #include "dev_tunnelled.h" // tunnelled_device<>
 
-const char *scsiata_c_cvsid="$Id: scsiata.cpp,v 1.23 2009/03/03 20:23:55 chrfranke Exp $"
+const char *scsiata_c_cvsid="$Id: scsiata.cpp,v 1.24 2009/03/06 22:23:04 chrfranke Exp $"
 CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID SCSIATA_H_CVSID UTILITY_H_CVSID;
 
 /* for passing global control variables */
@@ -938,6 +938,16 @@ bool usbjmicron_device::ata_pass_through(const ata_cmd_in & in, ata_cmd_out & ou
     return set_err(scsidev->get_err());
   }
 
+  scsi_sense_disect sinfo;
+  scsi_do_sense_disect(&io_hdr, &sinfo);
+  int err = scsiSimpleSenseFilter(&sinfo);
+  if (err) {
+    if (con->reportscsiioctl > 0)
+      pout("usbjmicron_device::ata_pass_through: scsi error: %s\n",
+           scsiErrString(err));
+    return set_err(EIO, "scsi error %s", scsiErrString(err));
+  }
+
   if (in.out_needed.is_set()) {
     if (is_smart_status) {
       switch (smart_status) {
@@ -1013,6 +1023,16 @@ bool usbjmicron_device::get_registers(unsigned short addr,
     return set_err(scsidev->get_err());
   }
 
+  scsi_sense_disect sinfo;
+  scsi_do_sense_disect(&io_hdr, &sinfo);
+  int err = scsiSimpleSenseFilter(&sinfo);
+  if (err) {
+    if (con->reportscsiioctl > 0)
+      pout("usbjmicron_device::get_registers: scsi error: %s\n",
+           scsiErrString(err));
+    return set_err(EIO, "scsi error %s", scsiErrString(err));
+  }
+
   return true;
 }