diff --git a/mythtv/libs/libmythui/mythuispinbox.cpp b/mythtv/libs/libmythui/mythuispinbox.cpp
index f22156a..88dd461 100644
--- a/mythtv/libs/libmythui/mythuispinbox.cpp
+++ b/mythtv/libs/libmythui/mythuispinbox.cpp
@@ -83,6 +83,39 @@ void MythUISpinBox::SetRange(int low, int high, int step, uint pageMultiple)
     SetPositionArrowStates();
 }
 
+
+/**
+ * \brief Add a special label for a value of the spinbox, it does not need to be in the range
+ *
+ * \param label The text displayed
+ * \param value The value associated to this label
+ */
+void MythUISpinBox::AddSelection (QString label, int value)
+{
+    MythUIButtonListItem * item = GetItemByData(value);
+    if (item)
+    {
+        item->SetText(label);
+    }
+    else
+    {
+        int insertPos=-1;
+
+        for (int pos = 0; pos < m_itemList.size();pos++)
+        {
+            item = m_itemList.at(pos);
+            if (item->GetData().toInt()>value)
+            {
+                insertPos = pos;
+                break;
+            }
+        } 
+
+        item = new MythUIButtonListItem(this, label, qVariantFromValue(value), 
+                insertPos);
+    }
+}
+
 /**
  *  \copydoc MythUIType::ParseElement()
  */
diff --git a/mythtv/libs/libmythui/mythuispinbox.h b/mythtv/libs/libmythui/mythuispinbox.h
index 451530f..0fa03e8 100644
--- a/mythtv/libs/libmythui/mythuispinbox.h
+++ b/mythtv/libs/libmythui/mythuispinbox.h
@@ -24,6 +24,7 @@ class MUI_PUBLIC MythUISpinBox : public MythUIButtonList
 
     void SetValue(int val) { SetValueByData(val); }
     void SetValue(const QString &val) { SetValueByData(val.toInt()); }
+    void AddSelection (QString label, int value);
     QString GetValue(void) const { return GetDataValue().toString(); }
     int GetIntValue(void) const { return GetDataValue().toInt(); }
 
