diff --git a/file-modules.cabal b/file-modules.cabal
--- a/file-modules.cabal
+++ b/file-modules.cabal
@@ -1,5 +1,5 @@
 name: file-modules
-version: 0.1.2.1
+version: 0.1.2.2
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
diff --git a/src/Development/FileModules.hs b/src/Development/FileModules.hs
--- a/src/Development/FileModules.hs
+++ b/src/Development/FileModules.hs
@@ -28,7 +28,7 @@
 
 fileModules :: FilePath -> IO [String]
 fileModules fname = do
-    result <- parse <$> readFile fname
+    result <- parse . sanitize <$> readFile fname
     case result of
         (ParseOk (NonGreedy{..})) -> do
             let (ModuleHeadAndImports _ _ mimports) = unNonGreedy
@@ -36,3 +36,7 @@
                 let ModuleName iname = importModule imp
                 in return iname
         (ParseFailed _ _) -> error $ "Failed to parse module in " ++ fname
+  where
+    sanitize = unlines . map removeCpp . lines
+    removeCpp ('#':_) = ""
+    removeCpp l = l
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -11,7 +11,7 @@
 main = do
     args <- getArgs
     case args of
-      "--version":_ -> putStrLn "0.1.2.1"
+      "--version":_ -> putStrLn "0.1.2.2"
       "--help":_ -> printUsage
       [] -> printUsage >> exitFailure
       ms -> do
