diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 93abd9c478d2be0a92aa6736369576ad7a1194ad..a632bb71a8cb046fc81bf075e483de910ff8412a 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -1603,8 +1603,8 @@ class LUVerifyCluster(LogicalUnit):
         test = msg and not res.offline
         self._ErrorIf(test, self.ENODEHOOKS, node_name,
                       "Communication failure in hooks execution: %s", msg)
-        if res.offline:
-          # No need to investigate payload if node is offline.
+        if res.offline or msg:
+          # No need to investigate payload if node is offline or gave an error.
           # override manually lu_result here as _ErrorIf only
           # overrides self.bad
           lu_result = 1