--- a/src/widgets/iconselect.cpp
+++ b/src/widgets/iconselect.cpp
@@ -102,6 +102,10 @@ public:
 signals:
     void iconSelected(const PsiIcon *);
     void textSelected(QString);
+    
+public slots:
+    void aboutToShow() { iconStart(); }
+    void aboutToHide() { iconStop();  }
 
 private:
     void iconStart()
@@ -142,8 +146,8 @@ private:
         }
     }
 
-    void enterEvent(QEvent *) { iconStart(); setFocus();  update(); } // focus follows mouse mode
-    void leaveEvent(QEvent *) { iconStop(); clearFocus(); update(); }
+    void enterEvent(QEvent *) { setFocus();   update(); } // focus follows mouse mode
+    void leaveEvent(QEvent *) { clearFocus(); update(); }
 
 private slots:
     void iconUpdated()
@@ -333,8 +337,8 @@ void IconSelect::setIconset(const Iconset &iconset)
         connect (b, SIGNAL(iconSelected(const PsiIcon *)), menu, SIGNAL(iconSelected(const PsiIcon *)));
         connect (b, SIGNAL(textSelected(QString)), menu, SIGNAL(textSelected(QString)));
 
-        //connect (menu, SIGNAL(aboutToShow()), b, SLOT(aboutToShow()));
-        //connect (menu, SIGNAL(aboutToHide()), b, SLOT(aboutToHide()));
+        connect (menu, SIGNAL(aboutToShow()), b, SLOT(aboutToShow()));
+        connect (menu, SIGNAL(aboutToHide()), b, SLOT(aboutToHide()));
 
         if (++column >= size) {
             ++row;
