diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG
index 216ff16364bd1977e7b3296421a0974e42d61541..824a63c5cf7f28c6b7a78837a7caded845ed3177 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] smartctl: Use printf() instead of pout() for exception error
+       messages to avoid access to bogus 'con->dont_print'.
+
   [CF] smartd: Add missing help texts for '-A', '-B' and '-s'.
 
   [CF] Add missing check for log page 0x11 support to smartctl
diff --git a/smartmontools/smartctl.cpp b/smartmontools/smartctl.cpp
index 545a41f31833eac8fe3e67f1198470ff0ebf032f..e0f48c6fa13d6e64777138f81ae6124fa929f072 100644
--- a/smartmontools/smartctl.cpp
+++ b/smartmontools/smartctl.cpp
@@ -981,12 +981,12 @@ int main(int argc, char **argv)
   }
   catch (const std::bad_alloc & /*ex*/) {
     // Memory allocation failed (also thrown by std::operator new)
-    pout("Smartctl: Out of memory\n");
+    printf("Smartctl: Out of memory\n");
     status = FAILCMD;
   }
   catch (const std::exception & ex) {
     // Other fatal errors
-    pout("Smartctl: Exception: %s\n", ex.what());
+    printf("Smartctl: Exception: %s\n", ex.what());
     status = FAILCMD;
   }
   return status;