diff --git a/lib/aethyr/core/render/display.rb b/lib/aethyr/core/render/display.rb
index f2f9d3086ed252ebcfa8cb24caa9e0f4a685cc3a..d34047473e9ed5953e35e62fa7718db8ba7fa4fe 100644
--- a/lib/aethyr/core/render/display.rb
+++ b/lib/aethyr/core/render/display.rb
@@ -43,7 +43,7 @@ class Display
       :main => Window.new(@color_settings, buffered: true),
       :input => Window.new(@color_settings),
       :map => Window.new(@color_settings),
-      :look => Window.new(@color_settings),
+      :look => Window.new(@color_settings, buffered: true),
       :quick_bar => Window.new(@color_settings),
       :status => Window.new(@color_settings)
     }
@@ -264,11 +264,9 @@ CONF
       room = $manager.get_object(player.container)
       if not room.nil?
         look_text = room.look(player)
-        cleared = false
-        Window.split_message(look_text, 79).each do |msg|
-          send(msg, message_type: :look, internal_clear: !cleared, add_newline: true)
-          cleared = true
-        end
+        #cleared = false
+        msg = Window.split_message(look_text, 79).join("\n")
+        send(msg, message_type: :look, internal_clear: true, add_newline: true)
       else
         send("Nothing to look at.", message_type: :look, internal_clear: true)
       end
diff --git a/lib/aethyr/core/render/window.rb b/lib/aethyr/core/render/window.rb
index fa4f4ccabaf9fcab3a3c42dc09552a2a61834fa0..086c687de86fe8e69ae0df9c0afb587db83f5b09 100644
--- a/lib/aethyr/core/render/window.rb
+++ b/lib/aethyr/core/render/window.rb
@@ -96,6 +96,7 @@ class Window
 
   def clear
     @window_text.clear
+    @buffer = [] unless @buffer.nil?
   end
 
   def send (message, word_wrap = true, add_newline: true)