diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index fb90900..e506b08 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -17,6 +17,7 @@
 
     <!-- Base attributes available to CustomSeekBarPreference. -->
     <declare-styleable name="CustomSeekBarPreference">
+        <attr name="defaultValueText" format="string" />
         <attr name="interval" format="integer" />
         <attr name="showSign" format="boolean" />
         <attr name="units" format="string|reference" />
diff --git a/src/com/bliss/support/preferences/CustomSeekBarPreference.java b/src/com/bliss/support/preferences/CustomSeekBarPreference.java
index bf7a5e6..00ab7fd 100644
--- a/src/com/bliss/support/preferences/CustomSeekBarPreference.java
+++ b/src/com/bliss/support/preferences/CustomSeekBarPreference.java
@@ -48,6 +48,8 @@
     protected int mMaxValue = 100;
     protected boolean mDefaultValueExists = false;
     protected int mDefaultValue;
+    protected boolean mDefaultValueTextExists = false;
+    protected String mDefaultValueText;
 
     protected int mValue;
 
@@ -94,6 +96,12 @@
             mValue = mMinValue;
         }
 
+        String defaultValueText = attrs.getAttributeValue(SETTINGS_NS, "defaultValueText");
+        mDefaultValueTextExists = defaultValueText != null && !defaultValueText.isEmpty();
+        if (mDefaultValueTextExists) {
+            mDefaultValueText = defaultValueText;
+        }
+
         mSeekBar = new SeekBar(context, attrs);
         setLayoutResource(R.layout.preference_custom_seekbar);
     }
@@ -163,6 +171,9 @@
     }
 
     protected String getTextValue(int v) {
+        if (mDefaultValueTextExists && mDefaultValueExists && v == mDefaultValue) {
+            return mDefaultValueText;
+        }
         return (mShowSign && v > 0 ? "+" : "") + String.valueOf(v) + mUnits;
     }
 
