diff --git a/Data/IntervalMap/FingerTree.hs b/Data/IntervalMap/FingerTree.hs
--- a/Data/IntervalMap/FingerTree.hs
+++ b/Data/IntervalMap/FingerTree.hs
@@ -239,7 +239,9 @@
 bounds :: (Ord v) => IntervalMap v a -> Maybe (Interval v)
 bounds (IntervalMap t) = case measure t of
     NoInterval -> Nothing
-    IntInterval (Interval lo _) hi -> Just (Interval lo hi)
+    IntInterval _ hi -> case FT.viewl t of
+        EmptyL -> Nothing
+        Node (Interval lo _) _ FT.:< _ -> Just (Interval lo hi)
 
 -- | /O(1)/.  @'leastView' m@ returns @'Nothing'@ if @m@ is empty, and
 -- otherwise @'Just' ((i, x), m')@, where @i@ is the least interval,
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,5 +1,8 @@
 -*-change-log-*-
 
+0.1.3.1 Ross Paterson <R.Paterson@city.ac.uk> Dec 2017
+	* Fixed Data.IntervalMap.FingerTree.bounds
+
 0.1.3.0 Ross Paterson <R.Paterson@city.ac.uk> Nov 2017
 	* Fixed Show instance for IntervalMap
 	* Added bounds, leastView and splitAfter to IntervalMap
diff --git a/fingertree.cabal b/fingertree.cabal
--- a/fingertree.cabal
+++ b/fingertree.cabal
@@ -1,5 +1,5 @@
 Name:           fingertree
-Version:        0.1.3.0
+Version:        0.1.3.1
 Cabal-Version:  >= 1.18
 Copyright:      (c) 2006 Ross Paterson, Ralf Hinze
 License:        BSD3
