diff --git a/src/jio/commands/command.js b/src/jio/commands/command.js
index 9f5ba589cd23c61fd66984874071680149f1f27c..0c3a65f007700e56ccfe4ab68ebb49476715db1e 100644
--- a/src/jio/commands/command.js
+++ b/src/jio/commands/command.js
@@ -258,11 +258,7 @@ var command = function(spec, my) {
      * @return {object} The clone of the command options.
      */
     that.cloneOption = function () {
-        var k, o = {};
-        for (k in priv.option) {
-            o[k] = priv.option[k];
-        }
-        return o;
+        return JSON.parse(JSON.stringify(priv.option));
     };
 
     /**
@@ -271,14 +267,7 @@ var command = function(spec, my) {
      * @return {object} The clone of the document.
      */
     that.cloneDoc = function () {
-        if (priv.docid) {
-            return priv.docid;
-        }
-        var k, o = {};
-        for (k in priv.doc) {
-            o[k] = priv.doc[k];
-        }
-        return o;
+        return JSON.parse(JSON.stringify(priv.doc));
     };
 
     return that;