Index: Shell.c
===================================================================
--- Shell.c	(revision 15523)
+++ Shell.c	(working copy)
@@ -1378,14 +1378,14 @@
     }
     ASSERT(FirstPercent < FirstQuote);
     if (SecondPercent < FirstQuote) {
+      FirstPercent[0] = L'\"';
+      SecondPercent[0] = L'\"';
+
       //
       // We need to remove from FirstPercent to SecondPercent
       //
-      CopyMem(FirstPercent, SecondPercent + 1, StrSize(SecondPercent + 1));
-
-      //
-      // dont need to update the locator.  both % characters are gone.
-      //
+      CopyMem(FirstPercent + 1, SecondPercent, StrSize(SecondPercent));
+      CurrentLocator = SecondPercent + 1;
       continue;
     }
     ASSERT(FirstQuote < SecondPercent);
