diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG
index ff8308e585e987357d9071a8c86321983a09dbf2..50642d9a785e85a26b34a248870517112c05f181 100644
--- a/smartmontools/CHANGELOG
+++ b/smartmontools/CHANGELOG
@@ -43,6 +43,9 @@ NOTES FOR FUTURE RELEASES: see TODO file.
 
 <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
 
+  [CF] Print ATA output registers if SMART status command returns bogus
+       register values.
+
   [CF] Windows: Don't return false ATA version info if IDENTIFY data
        is build from IOCTL_STORAGE_QUERY_PROPERTY result or from 3ware CLI
        output.
diff --git a/smartmontools/atacmds.cpp b/smartmontools/atacmds.cpp
index f4c977910e94632eb97bec0228202c0491438a44..745a4d55dcff787f7fd6ff95b38761cba6d2a313 100644
--- a/smartmontools/atacmds.cpp
+++ b/smartmontools/atacmds.cpp
@@ -623,8 +623,10 @@ int smartcommandhandler(ata_device * device, smart_command_set command, int sele
                  "probable SAT/USB truncation\n");
         } else {
           // We haven't gotten output that makes sense; print out some debugging info
-          pout("Error SMART Status command failed\n"
-               "Please get assistance from %s\n", PACKAGE_HOMEPAGE);
+          pout("Error SMART Status command failed\n");
+          pout("Please get assistance from %s\n", PACKAGE_HOMEPAGE);
+          pout("Register values returned from SMART Status command are:\n");
+          print_regs(" ", out.out_regs);
           errno = EIO;
           retval = -1;
         }