diff --git a/simpleprelude.cabal b/simpleprelude.cabal
--- a/simpleprelude.cabal
+++ b/simpleprelude.cabal
@@ -1,6 +1,6 @@
 Name:                simpleprelude
 
-Version:             1.0.0.2
+Version:             1.0.0.3
 
 Synopsis:            A simplified Haskell prelude for teaching
 
diff --git a/src/Common.hs b/src/Common.hs
--- a/src/Common.hs
+++ b/src/Common.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE PackageImports, NoImplicitPrelude  #-}
+{-# LANGUAGE CPP, PackageImports, NoImplicitPrelude  #-}
 
 module Common where
 
@@ -8,6 +8,14 @@
 additionalArgs = [
       "-package", "simpleprelude"
     , "-hide-package", "base"
-    , "-XRebindableSyntax"
     ]
-
+    
+-- Up till GHC 6.12 it was enough to use NoImplicitPrelude to use your
+-- own fromInteger with numeric literals. From GHC 7 onwards a literal
+-- is translated to base-Prelude.fromInteger unless RebindableSyntax
+-- is activated.
+#if __GLASGOW_HASKELL__ < 700 
+    ++ [ "-XNoImplicitPrelude" ]
+#else
+    ++ [ "-XRebindableSyntax" ]
+#endif
