diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+0.9.6: Fixed bug in Functor for FastQueue which causes it be not O(1)
 0.9.5: Added traversable instances (thanks dolio!)
 0.9.4: More fixing docs
 0.9.3: Fix docs
diff --git a/Data/Sequence/FastQueue.hs b/Data/Sequence/FastQueue.hs
--- a/Data/Sequence/FastQueue.hs
+++ b/Data/Sequence/FastQueue.hs
@@ -42,7 +42,9 @@
 queue f r (h : t) = RQ f r t
 
 instance Functor FastQueue where
-  fmap phi (RQ a b c) = RQ (fmap phi a) (fmap phi b) (fmap phi c)
+  fmap phi q = case viewl q of
+     EmptyL -> empty
+     h :< t -> phi h <| fmap phi t
 
 instance Foldable FastQueue where
   foldl f = loop where
diff --git a/sequence.cabal b/sequence.cabal
--- a/sequence.cabal
+++ b/sequence.cabal
@@ -1,5 +1,5 @@
 Name:                sequence
-Version:             0.9.5
+Version:             0.9.6
 Synopsis:	         A type class for sequences and various sequence data structures.
 Description:         A type class for sequences and various sequence data structures.
 License:             BSD3
