diff --git a/inline-c.cabal b/inline-c.cabal
--- a/inline-c.cabal
+++ b/inline-c.cabal
@@ -1,5 +1,5 @@
 name:                inline-c
-version:             0.5.5.4
+version:             0.5.5.5
 synopsis:            Write Haskell source files including C code inline. No FFI required.
 description:         See <https://github.com/fpco/inline-c/blob/master/README.md>.
 license:             MIT
diff --git a/src/Language/C/Inline/Internal.hs b/src/Language/C/Inline/Internal.hs
--- a/src/Language/C/Inline/Internal.hs
+++ b/src/Language/C/Inline/Internal.hs
@@ -532,14 +532,8 @@
       case parTy of
         Plain s' -> do
           hsTy <- cToHs ctx cTy
-          mbHsName <- TH.lookupValueName $ unHaskellIdentifier s'
-          hsExp <- case mbHsName of
-            Nothing -> do
-              fail $ "Cannot capture Haskell variable " ++ unHaskellIdentifier s' ++
-                     ", because it's not in scope. (genericQuote)"
-            Just hsName -> do
-              hsExp <- TH.varE hsName
-              [| \cont -> cont ($(return hsExp) :: $(return hsTy)) |]
+          let hsName = TH.mkName (unHaskellIdentifier s')
+          hsExp <- [| \cont -> cont ($(TH.varE hsName) :: $(return hsTy)) |]
           return (hsTy, hsExp)
         AntiQuote antiId dyn -> do
           case Map.lookup antiId (ctxAntiQuoters ctx) of
diff --git a/test/tests.c b/test/tests.c
--- a/test/tests.c
+++ b/test/tests.c
@@ -146,12 +146,7 @@
 }
 
 
-int inline_c_Main_22_dbf060cb8fa2b86c6c6838ef9b645ac20f38ba79(int _e4_inline_c_0) {
-return ( _e4_inline_c_0 );
-}
-
-
-int inline_c_Main_23_2421969c444755bea2c6f2060e0921ce7f3d16d7(int PreludemaxBound_2e_inline_c_0) {
-return ( PreludemaxBound_2e_inline_c_0 );
+int inline_c_Main_22_a3bae806835fddf243d045e57f2ba979bc7961cc(int foobar_inline_c_0) {
+return ( foobar_inline_c_0 );
 }
 
