diff --git a/modules/gui/share/CMakeLists.txt b/modules/gui/share/CMakeLists.txt
index db9da9d437fe637435707004f5e5fcf35007247d..c87f561e8eb50e4a7743063d3b70d090280f24e1 100644
--- a/modules/gui/share/CMakeLists.txt
+++ b/modules/gui/share/CMakeLists.txt
@@ -2,9 +2,11 @@
 set(GUI_ICONS
   icons/add_icon.png
   icons/close_icon.png
+  icons/critical_icon.png
   icons/delete_icon.png
   icons/distance_icon.png
   icons/find_icon.png
+  icons/information_icon.png
   icons/map_icon.png
   icons/menubar_icon.png
   icons/rigid_body_manipulator_icon.png
@@ -12,6 +14,7 @@ set(GUI_ICONS
   icons/show_sidebar_icon.png
   icons/site_icon.png
   icons/split_icon.png
+  icons/warning_icon.png
 )
 
 set(GUI_IMAGES
diff --git a/modules/gui/share/icons/critical_icon.png b/modules/gui/share/icons/critical_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e362b6fb3eef525896e6d173c2ceb42c9109f4a
Binary files /dev/null and b/modules/gui/share/icons/critical_icon.png differ
diff --git a/modules/gui/share/icons/information_icon.png b/modules/gui/share/icons/information_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d224adeb079092587a099fe310379a918df6147
Binary files /dev/null and b/modules/gui/share/icons/information_icon.png differ
diff --git a/modules/gui/share/icons/warning_icon.png b/modules/gui/share/icons/warning_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1a2dc196e0adc0d420ad5304e47d8926bc6637c
Binary files /dev/null and b/modules/gui/share/icons/warning_icon.png differ
diff --git a/modules/gui/src/messages/message_widget.cc b/modules/gui/src/messages/message_widget.cc
index 269f3eec4950ab824382597f5a2e5e46072e5705..5e4363397eb77c423823a45d181b7cb7894fb359 100644
--- a/modules/gui/src/messages/message_widget.cc
+++ b/modules/gui/src/messages/message_widget.cc
@@ -133,9 +133,28 @@ void MessageWidget::Decrease(QMessageBox::Icon icon){
 }
 
 QPixmap MessageWidget::GetIcon(QMessageBox::Icon icon, QWidget* widget) {
+  QDir icon_path(GetSharedDataPath().c_str());
+  icon_path.cd("gui");
+  icon_path.cd("icons");
+
   QStyle *style = widget ? widget->style() : QApplication::style();
   int icon_size = style->pixelMetric(QStyle::PM_MessageBoxIconSize, 0, widget);
   QIcon tmp_icon;
+#if  defined(__APPLE__)
+  switch (icon) {
+    case QMessageBox::Information:
+      tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("information_icon.png"));
+      break;
+    case QMessageBox::Warning:
+      tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("warning_icon.png"));
+      break;
+    case QMessageBox::Critical:
+      tmp_icon = QIcon(icon_path.absolutePath()+QDir::separator()+QString("critical_icon.png"));
+      break;
+    default:
+      break;
+  }
+#else
   switch (icon) {
   case QMessageBox::Information:
     tmp_icon = style->standardIcon(QStyle::SP_MessageBoxInformation, 0, widget);
@@ -151,6 +170,7 @@ QPixmap MessageWidget::GetIcon(QMessageBox::Icon icon, QWidget* widget) {
   default:
     break;
   }
+#endif
   if (!tmp_icon.isNull())
     return tmp_icon.pixmap(icon_size, icon_size);
   return QPixmap();