diff --git a/src/com/facebook/buck/event/listener/SuperConsoleEventBusListener.java b/src/com/facebook/buck/event/listener/SuperConsoleEventBusListener.java
index ead0fa2..414b3d2 100644
--- a/src/com/facebook/buck/event/listener/SuperConsoleEventBusListener.java
+++ b/src/com/facebook/buck/event/listener/SuperConsoleEventBusListener.java
@@ -97,6 +97,7 @@
   synchronized void render() {
     ImmutableList<String> lines = createRenderLinesAtTime(clock.currentTimeMillis());
     String nextFrame = clearLastRender() + Joiner.on("\n").join(lines);
+    nextFrame = ansi.asNoWrap(nextFrame);
     lastNumLinesPrinted = lines.size();
 
     // Synchronize on the DirtyPrintStreamDecorator to prevent interlacing of output.
diff --git a/src/com/facebook/buck/util/Ansi.java b/src/com/facebook/buck/util/Ansi.java
index 01c5f18..0adc0db 100644
--- a/src/com/facebook/buck/util/Ansi.java
+++ b/src/com/facebook/buck/util/Ansi.java
@@ -51,6 +51,9 @@
 
   private static final String ERASE_IN_LINE = "\u001B[%dK";
 
+  private static final String STOP_WRAPPING = "\u001B[?7l";
+  private static final String RESUME_WRAPPING = "\u001B[?7h";
+
   private final boolean isAnsiTerminal;
 
   private static final Ansi noTtyAnsi = new Ansi(false /* isAnsiTerminal */);
@@ -133,6 +136,14 @@
     }
   }
 
+  public String asNoWrap(String text) {
+    if (isAnsiTerminal) {
+      return STOP_WRAPPING + text + RESUME_WRAPPING;
+    } else {
+      return text;
+    }
+  }
+
   public void printHighlightedFailureText(PrintStream stream, String text) {
     stream.print(asHighlightedFailureText(text));
   }
