diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 061e269..77d1575 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -73,6 +73,7 @@
     private static final String CUSTOM_HEADER_IMAGE_SHADOW = "status_bar_custom_header_shadow";
     private static final String CUSTOM_HEADER_PROVIDER = "custom_header_provider";
     private static final String CUSTOM_HEADER_BROWSE = "custom_header_browse";
+    private static final String CUSTOM_WALL_BROWSE = "custom_wall_browse";
     private static final String STATUS_BAR_CUSTOM_HEADER = "status_bar_custom_header";
     private static final String KEY_NIGHT_MODE = "night_mode";
     private static final String KEY_OMS_APP = "oms_app";
@@ -83,6 +84,7 @@
     private ListPreference mHeaderProvider;
     private String mDaylightHeaderProvider;
     private PreferenceScreen mHeaderBrowse;
+    private PreferenceScreen mWallBrowse;
     private ListPreference mNightModePreference;
     private Preference mOmsApp;
 
@@ -145,6 +147,9 @@
         mHeaderBrowse = (PreferenceScreen) findPreference(CUSTOM_HEADER_BROWSE);
         mHeaderBrowse.setEnabled(isBrowseHeaderAvailable());
 
+        mWallBrowse = (PreferenceScreen) findPreference(CUSTOM_WALL_BROWSE);
+        mWallBrowse.setEnabled(isBrowseWallsAvailable());
+
         mNightModePreference = (ListPreference) findPreference(KEY_NIGHT_MODE);
         if (mNightModePreference != null) {
             final UiModeManager uiManager = (UiModeManager) getSystemService(
@@ -247,6 +252,13 @@
         return pm.resolveActivity(browse, 0) != null;
     }
 
+    private boolean isBrowseWallsAvailable() {
+        PackageManager pm = getPackageManager();
+        Intent browse = new Intent();
+        browse.setClassName("org.omnirom.omnistyle", "org.omnirom.omnistyle.BrowseWallsActivity");
+        return pm.resolveActivity(browse, 0) != null;
+    }
+
     public static String toString(boolean bool, String trueString, String falseString) {
         return bool ? trueString : falseString;
     }
