diff --git a/Android.mk b/Android.mk
index e8426fba..bc6341e2 100755
--- a/Android.mk
+++ b/Android.mk
@@ -193,6 +193,12 @@ endif
ifeq ($(TW_EXCLUDE_MTP),)
LOCAL_SHARED_LIBRARIES += libtwrpmtp-ffs
endif
+ifeq ($(BOARD_USES_RECOVERY_AS_BOOT), true)
+ LOCAL_CFLAGS += -DBOARD_USES_RECOVERY_AS_BOOT
+endif
+ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE), true)
+ LOCAL_CFLAGS += -DBOARD_BUILD_SYSTEM_ROOT_IMAGE
+endif
#TWRP Build Flags
ifeq ($(TW_EXCLUDE_MTP),)
diff --git a/data.cpp b/data.cpp
index 1fc7f35d..cdade083 100755
--- a/data.cpp
+++ b/data.cpp
@@ -793,7 +793,11 @@ void DataManager::SetDefaultValues()
#else
mPersist.SetValue(TW_UNMOUNT_SYSTEM, "1");
#endif
-
+#if defined BOARD_USES_RECOVERY_AS_BOOT && defined BOARD_BUILD_SYSTEM_ROOT_IMAGE
+ mConst.SetValue("tw_uses_initramfs", "1");
+#else
+ mConst.SetValue("tw_uses_initramfs", "0");
+#endif
#ifdef TW_NO_SCREEN_TIMEOUT
mConst.SetValue("tw_screen_timeout_secs", "0");
mConst.SetValue("tw_no_screen_timeout", "1");
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 0367e551..81328110 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -3770,6 +3770,7 @@
+
tw_back=advanced
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 607e2119..9d7e72c0 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -3892,6 +3892,7 @@
+
tw_back=advanced
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index 2cea6364..84dd4f66 100755
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -4371,6 +4371,7 @@
+
tw_back=advanced