diff --git a/bin/libbfa.js b/bin/libbfa.js
index c8a29033d6ce0971a23cf0ae6b83ed436a48ad23..f1ac7986a910b45b5c09c3fa5eb686fd146d0be0 100644
--- a/bin/libbfa.js
+++ b/bin/libbfa.js
@@ -152,7 +152,7 @@ module.exports = class Libbfa
                 // in a TCP stream .
                 // Writes out data and closes our end of the connection. 
                 // Geth will reply and then close it's end.
-                socket.end( w3.jsonify(opname,params).valueOf() );
+                socket.end( JSON.stringify( w3.jsonify(opname,params).valueOf()));
             });
             socket.on("data", (d) => {
                 try {
@@ -170,6 +170,10 @@ module.exports = class Libbfa
                 err = e;
             });
             socket.on("close", () => {
+                if ( result.error && result.error.code && result.error.message )
+                    err = 'Error ' + result.error.code + ": "+ result.error.message;
+                else
+                    result = result.result;
                 callback( err, result );
             });
         }