diff --git a/ghc/compiler/simplCore/OccurAnal.lhs b/ghc/compiler/simplCore/OccurAnal.lhs
index 5b021f0d0998760ff295b86897d117c3f7c2a8c6..002517297cf25b1b12d7e59f31bd2debccc0ac6e 100644
--- a/ghc/compiler/simplCore/OccurAnal.lhs
+++ b/ghc/compiler/simplCore/OccurAnal.lhs
@@ -606,6 +606,7 @@ occAnal env (Con con args)
 	-- arguments are just variables, or trivial expressions.
 	final_arg_uds    = case con of
 				DataCon _ -> mapVarEnv markMany arg_uds
+				PrimOp _  -> mapVarEnv markLazy arg_uds
 				other	  -> arg_uds
     in
     (final_arg_uds, Con con args')