diff --git a/Fltk/messageWindow.cpp b/Fltk/messageWindow.cpp
index 54f5621c18126a4aa425135984a1f07f645f30e5..1dfb229a9a7504dc034261f8275d2d9de2579330 100644
--- a/Fltk/messageWindow.cpp
+++ b/Fltk/messageWindow.cpp
@@ -111,7 +111,7 @@ messageWindow::messageWindow(int deltaFontSize)
 void messageWindow::add(const char *msg)
 {
   browser->add(msg, 0);
-  if(CTX::instance()->msgAutoScroll)
+  if(win->shown() && CTX::instance()->msgAutoScroll)
     browser->bottomline(browser->size());
 }
 
@@ -138,6 +138,9 @@ void messageWindow::save(const char *filename)
 
 void messageWindow::show(bool redrawOnly)
 {
+  if(CTX::instance()->msgAutoScroll)
+    browser->bottomline(browser->size());
+
   if(win->shown() && redrawOnly)
     win->redraw();
   else