diff --git a/ghc/compiler/rename/RnEnv.lhs b/ghc/compiler/rename/RnEnv.lhs
index 54033542256a7c8e8bfdf87f754627eb531c32fc..577b795df0f8c4115d4496806f5b767afdeb9b68 100644
--- a/ghc/compiler/rename/RnEnv.lhs
+++ b/ghc/compiler/rename/RnEnv.lhs
@@ -529,11 +529,11 @@ conflictsFM bad fm1 fm2
 conflictFM :: Ord a 
 	   => (b->b->Bool)
 	   -> FiniteMap a b -> a -> b
-	   -> [(a,(b,b))]
+	   -> Maybe (a,(b,b))
 conflictFM bad fm key elt
   = case lookupFM fm key of
-	Just elt' | bad elt elt' -> [(key,(elt,elt'))]
-	other			 -> []
+	Just elt' | bad elt elt' -> Just (key,(elt,elt'))
+	other			 -> Nothing
 \end{code}