diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.1.2
+
+Fixed bug in `Monoid` instance of `Frame` (@dalejordan)
+
 # 0.1.1.0
 
 Added `frameConsA`, `frameSnoc`, and `RecordColumns` to help with
diff --git a/Frames.cabal b/Frames.cabal
--- a/Frames.cabal
+++ b/Frames.cabal
@@ -1,5 +1,5 @@
 name:                Frames
-version:             0.1.1.1
+version:             0.1.2
 synopsis:            Data frames For working with tabular data files
 description:         User-friendly, type safe, runtime efficient tooling for
                      working with tabular data deserialized from
diff --git a/src/Frames/Frame.hs b/src/Frames/Frame.hs
--- a/src/Frames/Frame.hs
+++ b/src/Frames/Frame.hs
@@ -32,7 +32,7 @@
 instance Monoid (Frame r) where
   mempty = Frame 0 (const $ error "index out of bounds (empty frame)")
   Frame l1 f1 `mappend` Frame l2 f2 = Frame (l1+l2) $ \i ->
-                                      if i < l1 then f1 i else f2 i
+                                      if i < l1 then f1 i else f2 (i - l1)
 
 instance Foldable Frame where
   foldMap f (Frame n row) = foldMap (f . row) [0..n-1]
