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 089df0a..cc0350a 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
@@ -939,7 +939,7 @@
             if (flagC || flagL || flagU) {
                 Function<String, String> cnv;
                 if (flagC)
-                    cnv = s -> s.isEmpty() ? s : s.substring(0, 1).toUpperCase() + s.substring(1);
+                    cnv = s -> s.isEmpty() ? s : s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
                 else if (flagL)
                     cnv = String::toLowerCase;
                 else
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
index 61459ab..e4477af 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
@@ -195,6 +195,28 @@
     }
 
     @Test
+    public void testParamFlag() throws Exception {
+        vars.clear();
+        vars.put("foo", "bar");
+        vars.put("bar", "baz");
+
+        assertEquals("bar", expand("${${foo}}"));
+        assertEquals("baz", expand("${(P)foo}"));
+        assertEquals("baz", expand("${(P)${foo}}"));
+    }
+
+    @Test
+    public void testCaseFlags() throws Exception {
+        vars.clear();
+        vars.put("foo", "bAr");
+
+        assertEquals("bAr", expand("${foo}"));
+        assertEquals("bar", expand("${(L)foo}"));
+        assertEquals("BAR", expand("${(U)${foo}}"));
+        assertEquals("Bar", expand("${(C)${foo}}"));
+    }
+
+    @Test
     public void testSorting() throws Exception {
         vars.clear();
         vars.put("array", Arrays.asList("foo1", "foo02", "foo2", "fOo3", "Foo20", "foo23"));
