diff --git a/lib/fleece.js b/lib/fleece.js
index <HASH>..<HASH> 100644
--- a/lib/fleece.js
+++ b/lib/fleece.js
@@ -169,18 +169,23 @@ function describe_url(msg_url, cb) {
   req = request.get(msg_url, function (err, response, body) {
     var title;
 
-    if (err || !body) {
-      return cb(err, response);
+    if (err) {
+      return cb(err, body || response);
     }
 
     if (response.statusCode >= 400) {
       title = util.format("%s", response.statusCode);
-    } else {
-      try {
-        title = parse(msg_url, body);
-      } catch (e) {
-        return cb(e, title);
-      }
+      return cb(null, title);
+    }
+
+    if (!body) {
+      return cb("No body in response", response);
+    }
+
+    try {
+      title = parse(msg_url, body);
+    } catch (e) {
+      return cb(e, title);
     }
 
     return cb(null, title);
Return an error if there was no body. Prevents [object Object] from being printed out if no body is sent back.