diff --git a/src/gui/UBTeacherGuideWidget.cpp b/src/gui/UBTeacherGuideWidget.cpp
index 7eec4371..6833600d 100644
--- a/src/gui/UBTeacherGuideWidget.cpp
+++ b/src/gui/UBTeacherGuideWidget.cpp
@@ -210,6 +210,7 @@ void UBTeacherGuideEditionWidget::onAddItemClicked(QTreeWidgetItem* widget, int
         newWidgetItem->setData(column,Qt::UserRole,eUBTGAddSubItemWidgetType_None);
         newWidgetItem->setData(1,Qt::UserRole,eUBTGAddSubItemWidgetType_None);
         newWidgetItem->setIcon(1,QIcon(":images/close.svg"));
+
         switch(addSubItemWidgetType)
         {
         case eUBTGAddSubItemWidgetType_Action:
@@ -288,6 +289,7 @@ UBTeacherGuidePresentationWidget::UBTeacherGuidePresentationWidget(QWidget *pare
     mpModePushButton = new QPushButton(this);
     mpModePushButton->setIcon(QIcon(":images/pencil.svg"));
     mpModePushButton->setMaximumWidth(32);
+    mpModePushButton->installEventFilter(this);
 
     connect(mpModePushButton,SIGNAL(clicked()),parentWidget(),SLOT(changeMode()));
 
@@ -345,6 +347,14 @@ UBTeacherGuidePresentationWidget::~UBTeacherGuidePresentationWidget()
     DELETEPTR(mpLayout);
 }
 
+bool UBTeacherGuidePresentationWidget::eventFilter(QObject* object, QEvent* event)
+{
+    Q_UNUSED(object);
+    if(event->type() == QEvent::HoverEnter || event->type() == QEvent::HoverMove || event->type() == QEvent::HoverLeave)
+        return true;
+    return false;
+}
+
 void UBTeacherGuidePresentationWidget::cleanData()
 {
     mpPageTitle->showText("");
@@ -512,6 +522,7 @@ UBTeacherGuidePageZeroWidget::UBTeacherGuidePageZeroWidget(QWidget* parent, cons
     mpModePushButton = new QPushButton(this);
     mpModePushButton->setIcon(QIcon(":images/pencil.svg"));
     mpModePushButton->setMaximumWidth(32);
+    mpModePushButton->installEventFilter(this);
     mpButtonTitleLayout->addWidget(mpModePushButton);
     connect(mpModePushButton,SIGNAL(clicked()),this,SLOT(switchToMode()));
 
@@ -665,6 +676,14 @@ UBTeacherGuidePageZeroWidget::~UBTeacherGuidePageZeroWidget()
     DELETEPTR(mpLayout);
 }
 
+bool UBTeacherGuidePageZeroWidget::eventFilter(QObject* object, QEvent* event)
+{
+    Q_UNUSED(object);
+    if(event->type() == QEvent::HoverEnter || event->type() == QEvent::HoverMove || event->type() == QEvent::HoverLeave)
+        return true;
+    return false;
+}
+
 void UBTeacherGuidePageZeroWidget::fillComboBoxes()
 {
     QString parametersConfigFilePath = UBSettings::settings()->applicationCustomizationDirectory() + "/teacherGuide/indexingParameters.xml";
diff --git a/src/gui/UBTeacherGuideWidget.h b/src/gui/UBTeacherGuideWidget.h
index 2bdf52c4..817f0062 100644
--- a/src/gui/UBTeacherGuideWidget.h
+++ b/src/gui/UBTeacherGuideWidget.h
@@ -86,6 +86,8 @@ public slots:
     void onActiveSceneChanged();
 
 private:
+    bool eventFilter(QObject* object, QEvent* event);
+
     void createMediaButtonItem();
 
     UBTGAdaptableText* mpPageTitle;
@@ -124,6 +126,7 @@ private:
     void fillComboBoxes();
     void loadData();
     void hideEvent(QHideEvent* event);
+    bool eventFilter(QObject* object, QEvent* event);
 
     QVBoxLayout* mpLayout;
     QHBoxLayout* mpButtonTitleLayout;