diff --git a/groups.cabal b/groups.cabal
--- a/groups.cabal
+++ b/groups.cabal
@@ -1,5 +1,5 @@
 name:                groups
-version:             0.4.0.0
+version:             0.4.1.0
 synopsis:            Haskell 98 groups
 description:         
   Haskell 98 groups. A group is a monoid with invertibility.
diff --git a/src/Data/Group.hs b/src/Data/Group.hs
--- a/src/Data/Group.hs
+++ b/src/Data/Group.hs
@@ -23,11 +23,11 @@
       f x n 
         | even n = f (x `mappend` x) (n `quot` 2)
         | n == 1 = x
-        | otherwise = g (x `mappend` x) ((n - 1) `quot` 2) x
+        | otherwise = g (x `mappend` x) (n `quot` 2) x
       g x n c
         | even n = g (x `mappend` x) (n `quot` 2) c
         | n == 1 = x `mappend` c
-        | otherwise = g (x `mappend` x) ((n - 1) `quot` 2) (x `mappend` c)
+        | otherwise = g (x `mappend` x) (n `quot` 2) (x `mappend` c)
   
 instance Group () where
   invert () = ()
