diff --git a/src/Quasar/Wayland/Protocol/TH.hs b/src/Quasar/Wayland/Protocol/TH.hs
index 7a1e6362c4385f952c8f55336a459e77d24a4db0..9dc6711f2040e1d97096872a2318a66495555432 100644
--- a/src/Quasar/Wayland/Protocol/TH.hs
+++ b/src/Quasar/Wayland/Protocol/TH.hs
@@ -198,7 +198,8 @@ msgArgE _msg arg = varE (msgArgTempName arg)
 
 -- | Helper for 'msgConP' and 'msgArgE'.
 msgArgTempName :: ArgumentSpec -> Name
-msgArgTempName arg = mkName arg.name
+-- Add an "_" to prevent name conflicts with everything
+msgArgTempName arg = mkName $ arg.name <> "_"
 
 
 messageTypeDecs :: Name -> [MessageContext] -> Q [Dec]