diff --git a/src/walk.js b/src/walk.js
index <HASH>..<HASH> 100644
--- a/src/walk.js
+++ b/src/walk.js
@@ -312,11 +312,10 @@ function begin (delay) {
             if (quoting) {
                 quoting = false;
 
-                return next().then(function (character) {
-                    escape(character).then(function (escaped) {
-                        string += escaped;
-                        next().then(step);
-                    });
+                return escape(character).then(function (escaped) {
+                    console.log('walkString::escaped: ' + escaped);
+                    string += escaped;
+                    next().then(step);
                 });
             }
 
@@ -326,10 +325,8 @@ function begin (delay) {
             }
 
             if (character !== '"') {
-                return next().then(function (character) {
-                    string += character;
-                    next().then(step);
-                });
+                string += character;
+                return next().then(step);
             }
 
             insideString = false;
Eliminate bad calls to next.