diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
 Brick changelog
 ---------------
 
+0.6.2
+-----
+
+Bug fixes:
+ * Editor: the 'editor' initial content parameter is now correctly split
+   on newlines to ensure that the underlying editor zipper is
+   initialized properly. (fixes #56; thanks @listx)
+
 0.6.1
 -----
 
diff --git a/brick.cabal b/brick.cabal
--- a/brick.cabal
+++ b/brick.cabal
@@ -1,5 +1,5 @@
 name:                brick
-version:             0.6.1
+version:             0.6.2
 synopsis:            A declarative terminal user interface library
 description:
   Write terminal applications painlessly with 'brick'! You write an
diff --git a/programs/EditDemo.hs b/programs/EditDemo.hs
--- a/programs/EditDemo.hs
+++ b/programs/EditDemo.hs
@@ -62,6 +62,9 @@
         V.EvKey V.KEsc [] -> M.halt st
         V.EvKey (V.KChar '\t') [] -> M.continue $ switchEditors st
         V.EvKey V.KBackTab [] -> M.continue $ switchEditors st
+        V.EvKey (V.KChar ' ') [] ->
+            M.continue st { _edit2 = (E.editor secondEditor (str . unlines) Nothing "hello\nworld")
+                          }
         _ -> M.continue =<< T.handleEventLensed st (currentEditorL st) ev
 
 initialState :: St
diff --git a/src/Brick/Widgets/Edit.hs b/src/Brick/Widgets/Edit.hs
--- a/src/Brick/Widgets/Edit.hs
+++ b/src/Brick/Widgets/Edit.hs
@@ -85,7 +85,7 @@
        -> String
        -- ^ The initial content
        -> Editor
-editor name draw limit s = Editor (Z.stringZipper [s] limit) draw name
+editor name draw limit s = Editor (Z.stringZipper (lines s) limit) draw name
 
 -- | Apply an editing operation to the editor's contents. Bear in mind
 -- that you should only apply zipper operations that operate on the
