diff --git a/ghc/compiler/prelude/PrimOp.lhs b/ghc/compiler/prelude/PrimOp.lhs
index d43d498bb38094604cc2b3a4522378d820b36e59..dd15382fadeef81f731dc43cfeaef6e51d928039 100644
--- a/ghc/compiler/prelude/PrimOp.lhs
+++ b/ghc/compiler/prelude/PrimOp.lhs
@@ -1277,7 +1277,7 @@ primOpInfo WriteArrayOp
 primOpInfo IndexArrayOp
   = let { elt = alphaTy; elt_tv = alphaTyVar } in
     mkGenPrimOp SLIT("indexArray#") [elt_tv] [mkArrayPrimTy elt, intPrimTy]
-	(unboxedPair [realWorldStatePrimTy, elt])
+	(mkUnboxedTupleTy 1 [elt])
 
 ---------------------------------------------------------------------------
 -- Primitive arrays full of unboxed bytes: