diff --git a/ghc/compiler/prelude/PrimOp.lhs b/ghc/compiler/prelude/PrimOp.lhs
index 6634fe89cdcc3bb400789b6b51896bc92dbda34f..24bd867afd91289858efe9fbfaa3d90b1b8fb77c 100644
--- a/ghc/compiler/prelude/PrimOp.lhs
+++ b/ghc/compiler/prelude/PrimOp.lhs
@@ -35,7 +35,7 @@ import RdrName		( RdrName, mkRdrQual )
 import OccName		( OccName, pprOccName, mkSrcVarOcc )
 import TyCon		( TyCon, tyConArity )
 import Type		( Type, mkForAllTys, mkForAllTy, mkFunTy, mkFunTys, mkTyVarTys,
-			  mkTyConTy, mkTyConApp, typePrimRep,
+			  mkTyConTy, mkTyConApp, typePrimRep,mkTyVarTy,
 			  splitFunTy_maybe, splitAlgTyConApp_maybe, splitTyConApp_maybe,
                           UsageAnn(..), mkUsgTy
 			)
@@ -1639,8 +1639,8 @@ In practice, you'll use the higher-level
 
 \begin{code}
 primOpInfo MkWeakOp
-  = mkGenPrimOp SLIT("mkWeak#") [alphaTyVar, betaTyVar, gammaTyVar] 
-	[alphaTy, betaTy, gammaTy, realWorldStatePrimTy]
+  = mkGenPrimOp SLIT("mkWeak#") [openAlphaTyVar, betaTyVar, gammaTyVar] 
+	[mkTyVarTy openAlphaTyVar, betaTy, gammaTy, realWorldStatePrimTy]
 	(unboxedPair [realWorldStatePrimTy, mkWeakPrimTy betaTy])
 \end{code}