diff --git a/AddHandler.hs b/AddHandler.hs
--- a/AddHandler.hs
+++ b/AddHandler.hs
@@ -83,17 +83,19 @@
         (spaces, x') = span isSpace x
 
 fixRoutes :: String -> String -> String -> String -> String
-fixRoutes name pattern methods =
-    (++ l)
+fixRoutes name pattern methods fileContents =
+    fileContents ++ l
   where
     l = concat
-        [ pattern
+        [ startingCharacter
+        , pattern
         , " "
         , name
         , "R "
         , methods
         , "\n"
         ]
+    startingCharacter = if "\n" `isSuffixOf` fileContents then "" else "\n"
 
 mkHandler :: String -> String -> String -> String
 mkHandler name pattern methods = unlines
diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.4.3.5
+
+* Fix add-handler putting two routes on one line [#922](https://github.com/yesodweb/yesod/pull/922)
+
 ## 1.4.3.4
 
 Scaffolding updates:
diff --git a/yesod-bin.cabal b/yesod-bin.cabal
--- a/yesod-bin.cabal
+++ b/yesod-bin.cabal
@@ -1,5 +1,5 @@
 name:            yesod-bin
-version:         1.4.3.4
+version:         1.4.3.5
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
