diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6f1e495..c429015 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -15,6 +15,7 @@
         <entry key="app/src/main/res/drawable/ic_launcher_foreground.xml" value="0.2869791666666667" />
         <entry key="app/src/main/res/drawable/ic_settings_buttons.xml" value="0.3078125" />
         <entry key="app/src/main/res/drawable/ic_settings_more.xml" value="0.30885416666666665" />
+        <entry key="app/src/main/res/drawable/ic_settings_omnigears.xml" value="0.3098958333333333" />
         <entry key="app/src/main/res/drawable/ic_wallpaper.xml" value="0.3098958333333333" />
         <entry key="app/src/main/res/drawable/settings_icon.xml" value="0.30885416666666665" />
         <entry key="app/src/main/res/layout/grid_fragment.xml" value="0.3020833333333333" />
diff --git a/app/src/main/java/org/omnirom/control/AppListFragment.kt b/app/src/main/java/org/omnirom/control/AppListFragment.kt
index d2fcdb2..1ad24f5 100644
--- a/app/src/main/java/org/omnirom/control/AppListFragment.kt
+++ b/app/src/main/java/org/omnirom/control/AppListFragment.kt
@@ -97,12 +97,12 @@
             getString(R.string.wallpaper_summary)
         )*/
 
-        appManager.addApp(
+        /*appManager.addApp(
             "org.omnirom.device",
             "org.omnirom.device.DeviceSettings",
             getString(R.string.device_settings_title),
             getString(R.string.device_settings_summary)
-        )
+        )*/
         createAppList()
     }
 
diff --git a/app/src/main/java/org/omnirom/control/GridViewFragment.kt b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
index 91cef18..838611c 100644
--- a/app/src/main/java/org/omnirom/control/GridViewFragment.kt
+++ b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
@@ -114,6 +114,21 @@
                 )
             )
         }
+        if (Utils.isAvailableApp(requireContext(), "org.omnirom.device")) {
+            val deviceIntent = Intent()
+            deviceIntent.component = ComponentName(
+                "org.omnirom.device",
+                "org.omnirom.device.DeviceSettings"
+            )
+            gridItems.add(
+                IntentGridItem(
+                    R.string.device_settings_title,
+                    R.string.device_settings_summary,
+                    R.drawable.ic_settings_omnigears,
+                    deviceIntent
+                )
+            )
+        }
         gridItems.add(
             FragmentGridItem(
                 R.string.more_settings_title,
diff --git a/app/src/main/res/drawable/ic_settings_omnigears.xml b/app/src/main/res/drawable/ic_settings_omnigears.xml
new file mode 100644
index 0000000..ec95327
--- /dev/null
+++ b/app/src/main/res/drawable/ic_settings_omnigears.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2016 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:tint="?android:textColorPrimary"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M9.82,12.5C9.84,12.33 9.86,12.17 9.86,12C9.86,11.83 9.84,11.67 9.82,11.5L10.9,10.69C11,10.62 11,10.5 10.96,10.37L9.93,8.64C9.87,8.53 9.73,8.5 9.62,8.53L8.34,9.03C8.07,8.83 7.78,8.67 7.47,8.54L7.27,7.21C7.27,7.09 7.16,7 7.03,7H5C4.85,7 4.74,7.09 4.72,7.21L4.5,8.53C4.21,8.65 3.92,8.83 3.65,9L2.37,8.5C2.25,8.47 2.12,8.5 2.06,8.63L1.03,10.36C0.97,10.5 1,10.61 1.1,10.69L2.18,11.5C2.16,11.67 2.15,11.84 2.15,12C2.15,12.17 2.17,12.33 2.19,12.5L1.1,13.32C1,13.39 1,13.53 1.04,13.64L2.07,15.37C2.13,15.5 2.27,15.5 2.38,15.5L3.66,15C3.93,15.18 4.22,15.34 4.53,15.47L4.73,16.79C4.74,16.91 4.85,17 5,17H7.04C7.17,17 7.28,16.91 7.29,16.79L7.5,15.47C7.8,15.35 8.09,15.17 8.36,15L9.64,15.5C9.76,15.53 9.89,15.5 9.95,15.37L11,13.64C11.04,13.53 11,13.4 10.92,13.32L9.82,12.5M6,13.75C5,13.75 4.2,12.97 4.2,12C4.2,11.03 5,10.25 6,10.25C7,10.25 7.8,11.03 7.8,12C7.8,12.97 7,13.75 6,13.75M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1Z" />
+</vector>
diff --git a/app/src/main/res/layout/grid_item.xml b/app/src/main/res/layout/grid_item.xml
index 11cfddb..a3e4c62 100644
--- a/app/src/main/res/layout/grid_item.xml
+++ b/app/src/main/res/layout/grid_item.xml
@@ -13,7 +13,7 @@
             android:id="@+id/grid_item_icon"
             android:layout_width="48dp"
             android:layout_height="48dp"
-            android:layout_gravity="center" />
+            android:layout_gravity="center_vertical" />
 
         <LinearLayout
             android:layout_width="0dp"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9abf480..aaa84b0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -20,8 +20,6 @@
     <string name="wallpaper_summary">Browse OmniROM themed wallpapers</string>
     <string name="applist_title">Applications</string>
     <string name="settings_title">Settings</string>
-    <string name="device_settings_title">Device settings</string>
-    <string name="device_settings_summary">Advanced device specific settings</string>
 
     <string name="bars_settings_title">Bars</string>
     <string name="bars_settings_summary">Status bar options</string>
@@ -43,4 +41,7 @@
     <string name="global_actions_power_title">Power</string>
     <string name="global_actions_advanced_reboot_title">Enable advanced restart</string>
     <string name="global_actions_advanced_reboot_summary_new">Show more options in restart menu if not locked</string>
+
+    <string name="device_settings_title">Device settings</string>
+    <string name="device_settings_summary">Advanced device specific settings</string>
 </resources>
\ No newline at end of file
