diff --git a/sm5/CHANGELOG b/sm5/CHANGELOG
index 63714c4fc57e9c07c2d2e8c2cc58c445263b275b..4269a8bb28eeecbf7bf6a46731031e063f567dcb 100644
--- a/sm5/CHANGELOG
+++ b/sm5/CHANGELOG
@@ -1,6 +1,6 @@
 CHANGELOG for smartmontools
 
-$Id: CHANGELOG,v 1.49 2002/11/16 18:30:23 ballen4705 Exp $
+$Id: CHANGELOG,v 1.50 2002/11/17 05:57:32 ballen4705 Exp $
 
 Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
 
@@ -24,9 +24,13 @@ California, Santa Cruz. http://ssrc.soe.ucsc.edu/
 NOTES FOR FUTURE RELEASES: see TODO file.
 
 CURRENT RELEASE (see VERSION file in this directory):
+smartmontools-5.0.45
+
   Fixed bug in smartd where testunitready logic inverted
   prevented functioning on scsi devices.
 
+  Added testunitnotready to smartctl for symmetry with smartd.
+
   Brabec: added Czech descriptions to .spec file
   Brabec: corrected comment in smartd.conf example
 
diff --git a/sm5/scsiprint.c b/sm5/scsiprint.c
index 47446e8c80c33c51c5e8ad5c8213e5bc2261d5f9..f33e727d470c3c475107fd916413c8dc115efe54 100644
--- a/sm5/scsiprint.c
+++ b/sm5/scsiprint.c
@@ -36,7 +36,7 @@
 
 #define GBUF_SIZE 65535
 
-const char* CVSid4="$Id: scsiprint.c,v 1.10 2002/10/28 23:46:59 ballen4705 Exp $"
+const char* CVSid4="$Id: scsiprint.c,v 1.11 2002/11/17 05:57:32 ballen4705 Exp $"
 CVSID3 CVSID4 CVSID5 CVSID6;
 
 // control block which points to external global control variables
@@ -297,9 +297,15 @@ void scsiPrintStopStart ( int device )
 **/
 }
 
-void scsiPrintMain (int fd)
+void scsiPrintMain (char *device, int fd)
 {
 
+  // See if unit accepts SCSI commmands from us
+  if (testunitnotready(fd)){
+    printf("Smartctl: device %s failed Test Unit Ready\n", device);
+    exit(1);
+  }
+
     if (con->driveinfo)
 	scsiGetDriveInfo(fd); 
 
diff --git a/sm5/scsiprint.cpp b/sm5/scsiprint.cpp
index 77049a2bfc55060b06846959fbe837ac73cfbc0c..7a6b239ac839be3c9f5244d8b3a94fafcd123974 100644
--- a/sm5/scsiprint.cpp
+++ b/sm5/scsiprint.cpp
@@ -36,7 +36,7 @@
 
 #define GBUF_SIZE 65535
 
-const char* CVSid4="$Id: scsiprint.cpp,v 1.10 2002/10/28 23:46:59 ballen4705 Exp $"
+const char* CVSid4="$Id: scsiprint.cpp,v 1.11 2002/11/17 05:57:32 ballen4705 Exp $"
 CVSID3 CVSID4 CVSID5 CVSID6;
 
 // control block which points to external global control variables
@@ -297,9 +297,15 @@ void scsiPrintStopStart ( int device )
 **/
 }
 
-void scsiPrintMain (int fd)
+void scsiPrintMain (char *device, int fd)
 {
 
+  // See if unit accepts SCSI commmands from us
+  if (testunitnotready(fd)){
+    printf("Smartctl: device %s failed Test Unit Ready\n", device);
+    exit(1);
+  }
+
     if (con->driveinfo)
 	scsiGetDriveInfo(fd); 
 
diff --git a/sm5/scsiprint.h b/sm5/scsiprint.h
index 6a1b21084772180164a21337f16293dfd62d1e8f..2429e26878aa56a100bc5ef5f5a3d323e591cbd1 100644
--- a/sm5/scsiprint.h
+++ b/sm5/scsiprint.h
@@ -28,9 +28,9 @@
 #define SCSI_PRINT_H_
 
 #ifndef CVSID5
-#define CVSID5 "$Id: scsiprint.h,v 1.7 2002/10/28 23:46:59 ballen4705 Exp $\n"
+#define CVSID5 "$Id: scsiprint.h,v 1.8 2002/11/17 05:57:32 ballen4705 Exp $\n"
 #endif
 
-void scsiPrintMain(int fd);
+void scsiPrintMain(char *device, int fd);
 
 #endif
diff --git a/sm5/smartctl.c b/sm5/smartctl.c
index 0a21f1f928253b60f63678be94aebc58b9b9fdf4..69e15d0263b955599cf8d924bcf94b6ceedbf614 100644
--- a/sm5/smartctl.c
+++ b/sm5/smartctl.c
@@ -39,7 +39,7 @@
 #include "extern.h"
 
 extern const char *CVSid1, *CVSid2, *CVSid3, *CVSid4; 
-const char* CVSid5="$Id: smartctl.c,v 1.27 2002/11/07 19:07:20 ballen4705 Exp $"
+const char* CVSid5="$Id: smartctl.c,v 1.28 2002/11/17 05:57:32 ballen4705 Exp $"
 CVSID1 CVSID2 CVSID3 CVSID4 CVSID5 CVSID6;
 
 // This is a block containing all the "control variables".  We declare
@@ -351,7 +351,7 @@ int main (int argc, char **argv){
   if (tryata)
     retval=ataPrintMain(fd);
   else if (tryscsi)
-    scsiPrintMain (fd);
+    scsiPrintMain (device, fd);
   else {
     pout("Smartctl: specify if this is an ATA or SCSI device with the -%c or -%c options respectively.\n",
 	 NOTSCSIDEVICE, NOTATADEVICE);
diff --git a/sm5/smartctl.cpp b/sm5/smartctl.cpp
index 64e4948a862af615da01843e7ac864b92fc84e97..7fa60619cec3064d50356eee0117549ad64ad436 100644
--- a/sm5/smartctl.cpp
+++ b/sm5/smartctl.cpp
@@ -39,7 +39,7 @@
 #include "extern.h"
 
 extern const char *CVSid1, *CVSid2, *CVSid3, *CVSid4; 
-const char* CVSid5="$Id: smartctl.cpp,v 1.27 2002/11/07 19:07:20 ballen4705 Exp $"
+const char* CVSid5="$Id: smartctl.cpp,v 1.28 2002/11/17 05:57:32 ballen4705 Exp $"
 CVSID1 CVSID2 CVSID3 CVSID4 CVSID5 CVSID6;
 
 // This is a block containing all the "control variables".  We declare
@@ -351,7 +351,7 @@ int main (int argc, char **argv){
   if (tryata)
     retval=ataPrintMain(fd);
   else if (tryscsi)
-    scsiPrintMain (fd);
+    scsiPrintMain (device, fd);
   else {
     pout("Smartctl: specify if this is an ATA or SCSI device with the -%c or -%c options respectively.\n",
 	 NOTSCSIDEVICE, NOTATADEVICE);
diff --git a/sm5/smartmontools.spec b/sm5/smartmontools.spec
index 61723b7f9f1e4d40c28bd04fdb2b530a330ec15c..338b5133d7585896726b07e49d8f86a0f6dd39c7 100644
--- a/sm5/smartmontools.spec
+++ b/sm5/smartmontools.spec
@@ -30,7 +30,7 @@ Packager:       Bruce Allen <smartmontools-support@lists.sourceforge.net>
 # http://ftp1.sourceforge.net/smartmontools/smartmontools-%{version}-%{release}.tar.gz
 
 # CVS ID of this file is:
-# $Id: smartmontools.spec,v 1.68 2002/11/17 05:30:11 ballen4705 Exp $
+# $Id: smartmontools.spec,v 1.69 2002/11/17 05:57:32 ballen4705 Exp $
 
 # Copyright (C) 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
 # Home page: http://smartmontools.sourceforge.net/
@@ -252,6 +252,19 @@ fi
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
+* Sun Nov 17 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
+- Fixed bug in smartd where testunitready logic inverted
+  prevented functioning on scsi devices.
+- Added testunitnotready to smartctl for symmetry with smartd.
+- Brabec: added Czech descriptions to .spec file
+- Brabec: corrected comment in smartd.conf example
+- Changed way that entries in the ATA error log are printed,
+  to make it clearer which is the most recent error and
+  which is the oldest one.
+- Changed Temperature_Centigrade to Temperature_Celsius.
+  The term "Centigrade" ceased to exist in 1948.  (c.f
+  http://www.bartleby.com/64/C004/016.html).
+
 * Wed Nov 13 2002 Bruce Allen <smartmontools-support@lists.sourceforge.net>
 - smartd SCSI devices: can now send warning email message on failure
 - Added a new smartd configuration file Directive: -M ADDRESS.