diff --git a/compiler/GHC/Driver/MultilineStrings.hs b/compiler/GHC/Driver/MultilineStrings.hs
index fb0e00499d4b1ad374034c16284924da89e07d16..d9a6378140590a26c36b3f764e01d94864121d81 100644
--- a/compiler/GHC/Driver/MultilineStrings.hs
+++ b/compiler/GHC/Driver/MultilineStrings.hs
@@ -11,7 +11,7 @@ convertMultilineStrings s = go s WaitingForString 0
    '-':'-':s -> '-':'-': skipOneLineComment s
    '{':'-':s -> '{':'-': skipComment s
    '"':'"':'"':'\n':'"':'"':'"':s -> '"':'"': go s state 3
-   '"':'"':'"':'\n':s -> '\n':' ':'"' : go s InString charCnt
+   '"':'"':'"':'\n':s -> "\n" ++ replicate charCnt ' ' ++ "\"" ++ go s InString charCnt
    '\n':s -> '\n' : go s state 0
    c:s -> c : go s state (charCnt + 1)
   InString -> case s of
@@ -19,7 +19,7 @@ convertMultilineStrings s = go s WaitingForString 0
    '\n':'"':'"':'"':s -> '"':'\n' : go s WaitingForString 0
    '"':s -> '\\':'"' : go s state charCnt
    '\\':s -> '\\':'\\' : go s state charCnt
-   '\n':s -> "\\n\"\n" ++ replicate charCnt ' ' ++ " ++ \"" ++ go s state charCnt
+   '\n':s -> "\\n\"\n" ++ replicate charCnt ' ' ++ "++ \"" ++ go s state charCnt
    c:s -> c : go s state charCnt
   where
   skipOneLineComment "" = go "" state charCnt