diff --git a/interpolatedstring-perl6.cabal b/interpolatedstring-perl6.cabal
--- a/interpolatedstring-perl6.cabal
+++ b/interpolatedstring-perl6.cabal
@@ -1,5 +1,5 @@
 Name:          interpolatedstring-perl6
-Version:       0.5
+Version:       0.6
 License:       BSD3
 License-file:  LICENSE
 Category:      Data
diff --git a/src/Text/InterpolatedString/Perl6.hs b/src/Text/InterpolatedString/Perl6.hs
--- a/src/Text/InterpolatedString/Perl6.hs
+++ b/src/Text/InterpolatedString/Perl6.hs
@@ -156,10 +156,10 @@
 parseQC a (x:xs)       = parseQC (x:a) xs
 
 unQQ a []          = [Literal (reverse a)]
-unQQ a ('\\':x:xs) = unQC (x:a) xs
-unQQ a ('\\':[])   = unQC ('\\':a) []
+unQQ a ('\\':x:xs) = unQQ (x:a) xs
+unQQ a ('\\':[])   = unQQ ('\\':a) []
 unQQ a ('}':xs)    = AntiQuote (reverse a) : parseQQ [] xs
-unQQ a (x:xs)      = unQC (x:a) xs
+unQQ a (x:xs)      = unQQ (x:a) xs
 
 parseQQ a []           = [Literal (reverse a)]
 parseQQ a ('\\':x:xs)  = parseQQ (x:a) xs
@@ -168,7 +168,7 @@
     Literal (reverse a) : AntiQuote (x:pre) : parseQQ [] post
     where
     (pre, post) = span isIdent xs
-parseQQ a ('{':xs)     = Literal (reverse a) : unQC [] xs
+parseQQ a ('{':xs)     = Literal (reverse a) : unQQ [] xs
 parseQQ a (x:xs)       = parseQQ (x:a) xs
 
 isIdent '_'  = True
diff --git a/tests/Test.hs b/tests/Test.hs
--- a/tests/Test.hs
+++ b/tests/Test.hs
@@ -12,7 +12,7 @@
 testEmpty       = assertBool "" ([$qc||] == "")
 testCharLiteral = assertBool "" ([$qc|{1+2}|] == "3")
 testString      = assertBool "" ([$qc|a string {t1} is here|] == "a string 字元 is here")
-testVariable    = assertBool "" ([$qq|a string $t1 is here|] == "a string 字元 is here")
+testVariable    = assertBool "" ([$qq|a string {t1} $t1 {t1} $t1 is here|] == "a string 字元 字元 字元 字元 is here")
 testEscape      = assertBool "" ([$qc|#\{}|] == "#{}" && [$qc|\{}|] == "{}")
 testComplex     = assertBool "" ([$qc|
         ok
