diff --git a/src/main/scala/leon/purescala/PrettyPrinter.scala b/src/main/scala/leon/purescala/PrettyPrinter.scala
index f77fc57bd5a0891813ad2095048c42d4d30ad2af..9acbe6c5a106fc99a2402ced382035147b3899bf 100644
--- a/src/main/scala/leon/purescala/PrettyPrinter.scala
+++ b/src/main/scala/leon/purescala/PrettyPrinter.scala
@@ -183,7 +183,7 @@ class PrettyPrinter(opts: PrinterOptions,
       case BooleanLiteral(v)    => p"$v"
       case UnitLiteral()        => p"()"
       case StringLiteral(v)     => 
-        if(v.indexOf("\n") != -1 && v.indexOf("\"\"\"") == -1) {
+        if(v.count(c => c == '\n') >= 1 && v.length >= 80 && v.indexOf("\"\"\"") == -1) {
           p"$dbquote$dbquote$dbquote$v$dbquote$dbquote$dbquote"
         } else {
           val escaped = v.replaceAll(dbquote, "\\\\\"").replaceAll("\n","\\n").replaceAll("\r","\\r")
diff --git a/src/main/scala/leon/purescala/ScalaPrinter.scala b/src/main/scala/leon/purescala/ScalaPrinter.scala
index 8ef0cc52f57c26aeebce7dd6ac41d0e7d3976f7f..20b8942e946cd03e60882951ee291d4a2eee644e 100644
--- a/src/main/scala/leon/purescala/ScalaPrinter.scala
+++ b/src/main/scala/leon/purescala/ScalaPrinter.scala
@@ -41,7 +41,7 @@ class ScalaPrinter(opts: PrinterOptions,
 
       case InfiniteIntegerLiteral(v) => p"BigInt($v)"
       case StringLiteral(v) =>
-        if(v.indexOf("\n") != -1 && v.indexOf("\"\"\"") == -1) {
+        if(v.count(c => c == '\n') >= 1 && v.length >= 80 && v.indexOf("\"\"\"") == -1) {
           p"$dbquote$dbquote$dbquote$v$dbquote$dbquote$dbquote"
         } else {
           val escaped = v.replaceAll(dbquote, "\\\\\"").replaceAll("\n","\\n").replaceAll("\r","\\r")