diff --git a/ghc/compiler/hsSyn/HsDecls.lhs b/ghc/compiler/hsSyn/HsDecls.lhs
index aed17b2e5b64217b4231ec9247bc1905043266fe..5267681cae8bf8de75e80270f6f4c2d0b94669d0 100644
--- a/ghc/compiler/hsSyn/HsDecls.lhs
+++ b/ghc/compiler/hsSyn/HsDecls.lhs
@@ -116,8 +116,9 @@ instance (Outputable name, Outputable pat)
 instance Ord name => Eq (HsDecl name pat) where
 	-- Used only when comparing interfaces, 
 	-- at which time only signature and type/class decls
-   (SigD s1)  == (SigD s2) = s1 == s2
+   (SigD s1)  == (SigD s2)  = s1 == s2
    (TyClD d1) == (TyClD d2) = d1 == d2
+   _          == _          = False
 \end{code}