diff --git a/modules/gui/src/messages/message_widget.cc b/modules/gui/src/messages/message_widget.cc
index 8a87b06c789e9c6f1e9ccf229ab594465e523045..001a9635d8683b2134690fe0b87e3f23acb499bc 100644
--- a/modules/gui/src/messages/message_widget.cc
+++ b/modules/gui/src/messages/message_widget.cc
@@ -76,7 +76,10 @@ MessageWidget::MessageWidget(QWidget* parent) :
       + QString("delete_icon.png")));
   connect(clear_action, SIGNAL(triggered(bool)), this, SLOT(Clear()));
   this->actions_.append(clear_action);
-
+  QObject::connect(&PythonInterpreter::Instance(),
+                   SIGNAL(ErrorOutput(unsigned int, const QString &)),
+                   this,
+                   SLOT(ErrorOutput(unsigned int, const QString &)));
   new LogReader(this);
 }
 
@@ -95,6 +98,11 @@ void MessageWidget::LogMessage(const QString& message, QMessageBox::Icon icon) {
   this->Increase(icon);
 }
 
+void MessageWidget::ErrorOutput(unsigned int id,const QString& output)
+{
+  this->LogMessage(output, QMessageBox::Critical);
+}
+
 void MessageWidget::LogMessage(QStandardItem* item) {
   item->setData(QVariant(QMessageBox::NoIcon));
   this->model_->appendRow(item);
diff --git a/modules/gui/src/messages/message_widget.hh b/modules/gui/src/messages/message_widget.hh
index f126e0929944089b8dc5832d809fd45f88ea446f..5686c2fd39831dde89b1ec53f5551afa08b37307 100644
--- a/modules/gui/src/messages/message_widget.hh
+++ b/modules/gui/src/messages/message_widget.hh
@@ -60,6 +60,7 @@ signals:
   void AllCleared();
 
 public slots:
+  void ErrorOutput(unsigned int id,const QString& output);
   void Clear();
   void RemoveSelected();
   void Update();