diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 8deadaa..3897bd2 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -501,6 +501,7 @@
     <string name="clock_color_title">Color</string>
     <string name="status_bar_clock_style_reset">Reset color</string>
     <string name="status_bar_show_clock_title">Show clock and date</string>
+    <string name="status_bar_force_clock_lockscreen">Always show on lockscreen</string>
     <string name="status_bar_am_pm_title">AM/PM</string>
     <string name="status_bar_am_pm_info">24-hour clock is enabled</string>
     <string name="enable_clock_weekday">Day of the week</string>
@@ -580,7 +581,7 @@
     <string name="swap_volume_buttons_title">Match rotation</string>
     <string name="swap_volume_buttons_summary">Adjust volume buttons action based on current rotation</string>
 
-   <!-- Lockscreen immersive mode -->
-   <string name="category_immersive_mode_title">Immersive mode</string>
-   <string name="lockscreen_immersive_mode_title">Disable immersive mode</string>
+    <!-- Lockscreen immersive mode -->
+    <string name="category_immersive_mode_title">Immersive mode</string>
+    <string name="lockscreen_immersive_mode_title">Disable immersive mode</string>
 </resources>
diff --git a/res/xml/status_bar_clock_style.xml b/res/xml/status_bar_clock_style.xml
index 28f9062..6701997 100644
--- a/res/xml/status_bar_clock_style.xml
+++ b/res/xml/status_bar_clock_style.xml
@@ -18,12 +18,19 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:title="@string/status_bar_clock_title">
 
-       <CheckBoxPreference
+        <CheckBoxPreference
             android:key="status_bar_show_clock"
             android:title="@string/status_bar_show_clock_title"
             android:defaultValue="true"
             android:persistent="false"/>
 
+        <CheckBoxPreference
+            android:key="status_bar_force_clock_lockscreen"
+            android:title="@string/status_bar_force_clock_lockscreen"
+            android:defaultValue="false"
+            android:dependency="status_bar_show_clock"
+            android:persistent="false"/>
+
         <ListPreference
             android:key="clock_style"
             android:entries="@array/clock_style_entries"
diff --git a/src/org/omnirom/omnigears/slim/StatusBarClockStyle.java b/src/org/omnirom/omnigears/slim/StatusBarClockStyle.java
index af73dd4..1c3746e 100644
--- a/src/org/omnirom/omnigears/slim/StatusBarClockStyle.java
+++ b/src/org/omnirom/omnigears/slim/StatusBarClockStyle.java
@@ -45,6 +45,7 @@
     private static final String PREF_CLOCK_DATE_STYLE = "clock_date_style";
     private static final String PREF_CLOCK_DATE_FORMAT = "clock_date_format";
     private static final String STATUS_BAR_CLOCK = "status_bar_show_clock";
+    private static final String STATUS_BAR_FORCE_CLOCK_LOCKSCREEN = "status_bar_force_clock_lockscreen";
 
     public static final int CLOCK_DATE_STYLE_LOWERCASE = 1;
     public static final int CLOCK_DATE_STYLE_UPPERCASE = 2;
@@ -55,6 +56,7 @@
     private ListPreference mClockDateStyle;
     private ListPreference mClockDateFormat;
     private CheckBoxPreference mStatusBarClock;
+    private CheckBoxPreference mForceClockLockscreen;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -135,6 +137,11 @@
             mClockDateFormat.setEnabled(false);
         }
 
+        mForceClockLockscreen = (CheckBoxPreference) findPreference(STATUS_BAR_FORCE_CLOCK_LOCKSCREEN);
+        mForceClockLockscreen.setChecked(Settings.System.getInt(getActivity().getContentResolver(),
+                Settings.System.STATUS_BAR_FORCE_CLOCK_LOCKSCREEN, 0) != 0);
+        mForceClockLockscreen.setOnPreferenceChangeListener(this);
+
         return prefSet;
     }
 
@@ -188,6 +195,10 @@
                 mClockDateFormat.setSummary(mClockDateFormat.getEntries()[idx]);
             }
             return true;
+        } else if (preference == mForceClockLockscreen) {
+            Settings.System.putInt(getActivity().getContentResolver(),
+                    Settings.System.STATUS_BAR_FORCE_CLOCK_LOCKSCREEN, (Boolean) newValue ? 1 : 0);
+            return true;
         }
         return false;
     }
