diff --git a/data/gui/karts.stkgui b/data/gui/karts.stkgui
index ceff66ebb..261a5657b 100644
--- a/data/gui/karts.stkgui
+++ b/data/gui/karts.stkgui
@@ -15,9 +15,9 @@
         <ribbon_grid id="karts" proportion="1" square_items="true" width="90%" align="center" child_width="80" child_height="80"/>
     </box>
     <tabs width="100%" height="25" id="kartgroups">
-        <button text="Standard"/>
-        <button text="Add-Ons"/>
-        <button text="All"/>
+        <button id="standard" text="Standard"/>
+        <button id="addons" text="Add-Ons"/>
+        <button id="all" text="All"/>
     </tabs>
         
     <spacer height="15" width="25"/>
diff --git a/data/gui/tracks.stkgui b/data/gui/tracks.stkgui
index 130536662..fb18f22fd 100644
--- a/data/gui/tracks.stkgui
+++ b/data/gui/tracks.stkgui
@@ -16,9 +16,9 @@
     </box>
 
     <tabs width="100%" height="25" id="trackgroups">
-        <button text="Standard"/>
-        <button text="Add-Ons"/>
-        <button text="All"/>
+        <button id="standard" text="Standard"/>
+        <button id="addons" text="Add-Ons"/>
+        <button id="all" text="All"/>
     </tabs>
 
     <spacer width="20" height="20" />
diff --git a/src/gui/engine.hpp b/src/gui/engine.hpp
index 8a5a2b98e..7843684f8 100644
--- a/src/gui/engine.hpp
+++ b/src/gui/engine.hpp
@@ -18,6 +18,7 @@ Orientation of tabs (up or down) is automatically inferred from on-screen positi
 Ribbon widgets are of spawn type (<ribbon> ... </ribbon>) and may contain icon-buttons or buttons as children.
 Property PROP_SQUARE can be set to tell the engine if the ribbon's contents are rectangular or not (this will
 affect the type of highlighting used)
+ * Note : all elements within a ribbon must have an 'ID' property
 
 WTYPE_SPINNER           "spinner", "gauge"
 A spinner component (lets you choose numbers). Sprecify PROP_MIN_VALUE and PROP_MAX_VALUE to have control
diff --git a/src/gui/widget.cpp b/src/gui/widget.cpp
index 66e5eabc6..80ff3ab82 100644
--- a/src/gui/widget.cpp
+++ b/src/gui/widget.cpp
@@ -468,7 +468,7 @@ bool RibbonWidget::mouseHovered(Widget* child)
         }
     }
     updateSelection();
-    return m_ribbon_type != RIBBON_TOOLBAR;
+    return false;
 }
 // -----------------------------------------------------------------------------
 void RibbonWidget::updateSelection()
@@ -523,6 +523,7 @@ void RibbonWidget::add()
             std::cerr << "/!\\ Warning /!\\ : ribbon widgets can only have (icon)button widgets as children " << std::endl;
             continue;
         }
+
         total_needed_space += m_children[i].w;
     }