diff --git a/Language/Haskell/Infix.hs b/Language/Haskell/Infix.hs
--- a/Language/Haskell/Infix.hs
+++ b/Language/Haskell/Infix.hs
@@ -33,7 +33,7 @@
              ) where
 
 import Language.Haskell.Syntax
-import Data.FiniteMap
+import qualified Data.Map as M (Map, union, lookup, insert, empty, assocs)
 
 --------------------------------------------------------------------------------
 
@@ -43,16 +43,16 @@
             deriving Show
 
 -- a mapping from qualified operator names to fixity information
-type InfixMap = FiniteMap HsQName Fixity
+type InfixMap = M.Map HsQName Fixity
 
 plusInfixMap :: InfixMap -> InfixMap -> InfixMap
-plusInfixMap = plusFM
+plusInfixMap = flip M.union
 
 emptyInfixMap :: InfixMap
-emptyInfixMap = emptyFM
+emptyInfixMap = M.empty
 
 infixMapToList :: InfixMap -> [(HsQName, Fixity)]
-infixMapToList = fmToList
+infixMapToList = M.assocs
 
 -- pretty crude illustration of infix map
 showInfixMap :: InfixMap -> String
@@ -116,7 +116,7 @@
    = return $ Fixity {fixity_assoc = HsAssocRight, fixity_prec  = 5}
 getFixityQName name
    =  do infixMap <- getInfixMap
-         case lookupFM infixMap name of
+         case (flip M.lookup) infixMap name of
             Nothing -> return defaultFixity
             Just fixity -> return fixity
 
@@ -386,7 +386,7 @@
    insertLocalOps _fixity [] imap = imap
    insertLocalOps fixity (op:ops) infixMap
       = let opName = nameFromOp op
-            map1   = addToFM infixMap (UnQual opName) fixity
+            map1   = M.insert (UnQual opName) fixity infixMap
         in insertLocalOps fixity ops map1
 insertLocalInfixDecls imap (_ : decls)
    = insertLocalInfixDecls imap decls
@@ -408,8 +408,8 @@
       = let opName = nameFromOp op
             -- insert qualified and unqualified versions of the name
             -- into the infix table
-            map1 = addToFM infixMap (UnQual opName) fixity
-            map2 = addToFM map1 (Qual modName $ opName) fixity
+            map1 = M.insert (UnQual opName) fixity infixMap
+            map2 = M.insert (Qual modName $ opName) fixity map1
         in  insertTopOps modName fixity ops map2
 -- class decls can have infix decls and these are treated in the same way
 -- as top-level infix decls
diff --git a/infix.cabal b/infix.cabal
--- a/infix.cabal
+++ b/infix.cabal
@@ -1,5 +1,5 @@
 name:                infix
-version:             0.1
+version:             0.1.1
 synopsis:            Infix expression re-parsing (for HsParser library)
 description:         The Haskell parser does not consider the fixity
                      of operators when parsing infix applications.
@@ -22,7 +22,7 @@
 maintainer:          None
 homepage:            http://www.cs.mu.oz.au/~bjpop/code.html
 
-build-depends:       base, containers, haskell-src, FiniteMap
+build-depends:       base, containers, haskell-src
 build-type:          Simple
 tested-with:         GHC==6.5
 
