diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java
index 34bbcbb..25fabaa 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Expander.java
@@ -579,10 +579,11 @@
                     }
                     // Parameter expansion
                     else {
-                        Object val = expandVar();
+                        Object val = expandVar(true);
                         if (EOT == ch && buf.length() == 0) {
                             return val;
                         }
+                        rawVariable = false;
                         if (null != val) {
                             buf.append(val);
                         }
@@ -820,6 +821,11 @@
 
     private Object expandVar() throws Exception
     {
+        return expandVar(false);
+    }
+
+    private Object expandVar(boolean rawVariable) throws Exception
+    {
         assert '$' == ch;
 
         Object val = null;
@@ -853,7 +859,7 @@
                 {
                     String name = text.subSequence(start, index - 1).toString();
                     val = evaluate.get(name);
-                    rawVariable = true;
+                    this.rawVariable = rawVariable;
                 }
             }
         }
