diff --git a/GHC/Integer/Type.hs b/GHC/Integer/Type.hs
index 144a52c701b13a786cb2598927f020c028e5b326..5deecd29bb2ce42122c4e5ee6a262e5d10362931 100644
--- a/GHC/Integer/Type.hs
+++ b/GHC/Integer/Type.hs
@@ -503,10 +503,9 @@ signumInteger (Negative _) = negativeOneInteger
 signumInteger Naught       = Naught
 signumInteger (Positive _) = oneInteger
 
--- XXX This isn't a great hash function
 {-# NOINLINE hashInteger #-}
 hashInteger :: Integer -> Int#
-hashInteger (!_) = 42#
+hashInteger = integerToInt
 
 -------------------------------------------------------------------
 -- The hard work is done on positive numbers