diff --git a/ghc-syb.cabal b/ghc-syb.cabal
--- a/ghc-syb.cabal
+++ b/ghc-syb.cabal
@@ -1,5 +1,5 @@
 name:            ghc-syb
-version:         0.1.2
+version:         0.1.2.1
 license:         BSD3
 license-file:    LICENSE
 author:          Claus Reinke
@@ -29,3 +29,5 @@
     cpp-options:   -DHAS_ANNOTATIONS
   if impl(ghc >= 6.11.20090318)
     cpp-options:   -DCONSTRUCTOR_LIKE_IDS
+  if impl(ghc >= 6.10.2)
+    cpp-options:   -DHAS_FUNCTION_OR_DATA
diff --git a/src/GHC/SYB/Instances.hs b/src/GHC/SYB/Instances.hs
--- a/src/GHC/SYB/Instances.hs
+++ b/src/GHC/SYB/Instances.hs
@@ -251,8 +251,10 @@
 deriving instance Typeable CostCentre
 deriving instance Data CostCentre
 
+#ifdef HAS_FUNCTION_OR_DATA
 deriving instance Typeable FunctionOrData
 deriving instance Data FunctionOrData
+#endif
 
 deriving instance Typeable IsDupdCC
 deriving instance Data IsDupdCC
