diff --git a/Data/FixedPoint.lhs b/Data/FixedPoint.lhs
--- a/Data/FixedPoint.lhs
+++ b/Data/FixedPoint.lhs
@@ -612,7 +612,8 @@
 >       succ a | a < maxBound = (a + 1)
 >
 > instance (Integral a, Bits a, Bounded a) => Integral (BigInt a) where
->       toInteger i@(BigInt h) = (if i < 0 then negate else id) (toInteger h)
+>       toInteger i@(BigInt h) =
+>               (if (i < 0) then negate else id) . toInteger . (if i < 0 then negate else id) $ h
 >       quotRem a b =
 >               let (BigInt ah) = abs a
 >                   (BigInt bh) = abs b
diff --git a/FixedPoint-simple.cabal b/FixedPoint-simple.cabal
--- a/FixedPoint-simple.cabal
+++ b/FixedPoint-simple.cabal
@@ -1,5 +1,5 @@
 Name:                FixedPoint-simple
-Version:             0.4.1
+Version:             0.4.2
 Synopsis:            Fixed point, large word, and large int numerical representations (types and common class instances)
 Description:         This library uses elementary techniques to implement fixed point types in terms
                      of basic integrals such as Word64.  All mathematical operations are implemented
