diff --git a/thalerj/openbmctool.py b/thalerj/openbmctool.py
index d7e9fba..2d3fb3d 100755
--- a/thalerj/openbmctool.py
+++ b/thalerj/openbmctool.py
@@ -4053,8 +4053,7 @@
         return connectionErrHandler(args.json, "RequestException", err)
 
     if (res.status_code == 404):
-        return "No thermal control zones found or system is in a" + \
-            " powered off state"
+        return "No thermal control zones found"
 
     zonesDict = json.loads(res.text)
     if not zonesDict['data']:
@@ -4088,8 +4087,7 @@
         return connectionErrHandler(args.json, "RequestException", err)
 
     if (res.status_code == 404):
-        return "Thermal control zone(" + args.zone + ") not found or" + \
-            " system is in a powered off state"
+        return "Thermal control zone(" + args.zone + ") not found"
 
     propsDict = json.loads(res.text)
     if not propsDict['data']:
@@ -4162,7 +4160,7 @@
         return res.text
     else:
         return "Setting thermal control mode(" + args.mode + ")" + \
-            " not supported or operation not available(system powered off?)"
+            " not supported or operation not available"
 
 
 def createCommandParser():
@@ -4776,7 +4774,7 @@
          main function for running the command line utility as a sub application
     """
     global toolVersion
-    toolVersion = "1.16"
+    toolVersion = "1.17"
     global isRedfishSupport
 
     parser = createCommandParser()
