diff --git a/lib/backend.py b/lib/backend.py
index 60826438c2d42faa5c9151e271528cf4b6075b4e..7d7b04073e88d92a42470a08812a99696b723ba4 100644
--- a/lib/backend.py
+++ b/lib/backend.py
@@ -480,7 +480,11 @@ def VerifyNode(what, cluster_name):
   if constants.NV_HYPERVISOR in what:
     result[constants.NV_HYPERVISOR] = tmp = {}
     for hv_name in what[constants.NV_HYPERVISOR]:
-      tmp[hv_name] = hypervisor.GetHypervisor(hv_name).Verify()
+      try:
+        val = hypervisor.GetHypervisor(hv_name).Verify()
+      except errors.HypervisorError, err:
+        val = "Error while checking hypervisor: %s" % str(err)
+      tmp[hv_name] = val
 
   if constants.NV_FILELIST in what:
     result[constants.NV_FILELIST] = utils.FingerprintFiles(
@@ -523,8 +527,12 @@ def VerifyNode(what, cluster_name):
     result[constants.NV_LVLIST] = GetVolumeList(what[constants.NV_LVLIST])
 
   if constants.NV_INSTANCELIST in what:
-    result[constants.NV_INSTANCELIST] = GetInstanceList(
-      what[constants.NV_INSTANCELIST])
+    # GetInstanceList can fail
+    try:
+      val = GetInstanceList(what[constants.NV_INSTANCELIST])
+    except RPCFail, err:
+      val = str(err)
+    result[constants.NV_INSTANCELIST] = val
 
   if constants.NV_VGLIST in what:
     result[constants.NV_VGLIST] = utils.ListVolumeGroups()
diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index e88f88bc3439b51d8ab034a48de7b348aaded528..4b6b7783309b12985fb9720a88d18770a825895c 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -1439,7 +1439,8 @@ class LUVerifyCluster(LogicalUnit):
       idata = nresult.get(constants.NV_INSTANCELIST, None)
       test = not isinstance(idata, list)
       _ErrorIf(test, self.ENODEHV, node,
-               "rpc call to node failed (instancelist)")
+               "rpc call to node failed (instancelist): %s",
+               utils.SafeEncode(str(idata)))
       if test:
         continue
 
@@ -1544,7 +1545,7 @@ class LUVerifyCluster(LogicalUnit):
         _ErrorIf(snode not in node_info and snode not in n_offline,
                  self.ENODERPC, snode,
                  "instance %s, connection to secondary node"
-                 "failed", instance)
+                 " failed", instance)
 
         if snode in node_info:
           node_info[snode]['sinst'].append(instance)