diff --git a/lib/heartbeat.js b/lib/heartbeat.js
index f816a8719aad3ae2f06e6e475ca0ea2dfa07bd49..e5e309fd4c990366e7cb198bb549744e179ea550 100644
--- a/lib/heartbeat.js
+++ b/lib/heartbeat.js
@@ -35,10 +35,10 @@ exports.setup = function(app, options, cb) {
 
     // callback for checking a dependency
     function checkCB (num) {
-      return function (isOk, reason) {
+      return function (err, isOk) {
         checked++;
-        if (!isOk) {
-          notOk.push(dependencies[num] + ': '+ reason);
+        if (err) {
+          notOk.push(dependencies[num] + ': '+ err);
         }
 
         // if all dependencies have been checked
@@ -102,16 +102,16 @@ var check = exports.check = function(url, cb) {
     path: exports.path
   }, function (res) {
     clearTimeout(timeoutHandle);
-    if (res.statusCode === 200) cb(true);
+    if (res.statusCode === 200) cb(null, true);
     else {
       logger.warn("heartbeat failure: non-200 response from " + shortname + ".  fatal! (" +
                   res.statusCode + ")");
-      cb(false, "response code " + res.statusCode);
+      cb("response code " + res.statusCode);
     }
   });
   req.on('error', function (e) {
     clearTimeout(timeoutHandle);
     logger.warn("heartbeat failure: can't communicate with " + shortname + ".  fatal: " + e);
-    cb(false, e);
+    cb(e ? e : "unknown error");
   });
 };