diff --git a/minui/Android.mk b/minui/Android.mk
index 1faaf6d..09409a4 100644
--- a/minui/Android.mk
+++ b/minui/Android.mk
@@ -6,13 +6,13 @@
     graphics.cpp \
     graphics_drm.cpp \
     graphics_fbdev.cpp \
-    resources.cpp \
-    graphics_overlay.cpp
+    resources.cpp
 
 LOCAL_C_INCLUDES := external/libcxx/include external/libpng
 
 ifeq ($(TW_TARGET_USES_QCOM_BSP), true)
   LOCAL_CFLAGS += -DMSM_BSP
+  LOCAL_SRC_FILES += graphics_overlay.cpp
   ifeq ($(TARGET_PREBUILT_KERNEL),)
     LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
     LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
diff --git a/minui/graphics.cpp b/minui/graphics.cpp
index 93b70da..244db3c 100644
--- a/minui/graphics.cpp
+++ b/minui/graphics.cpp
@@ -477,6 +477,7 @@
     gr_init_font();
     gr_draw = NULL;
 
+#ifdef MSM_BSP
     gr_backend = open_overlay();
     if (gr_backend) {
         gr_draw = gr_backend->init(gr_backend);
@@ -485,9 +486,10 @@
         } else
             printf("Using overlay graphics.\n");
     }
+#endif
 
 #ifndef MSM_BSP
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_adf();
         if (gr_backend) {
             gr_draw = gr_backend->init(gr_backend);
@@ -501,14 +503,14 @@
 	printf("Skipping adf graphics because TW_TARGET_USES_QCOM_BSP := true\n");
 #endif
 
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_drm();
         gr_draw = gr_backend->init(gr_backend);
         if (gr_draw)
             printf("Using drm graphics.\n");
     }
 
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_fbdev();
         gr_draw = gr_backend->init(gr_backend);
         if (gr_draw == NULL) {
diff --git a/minuitwrp/Android.mk b/minuitwrp/Android.mk
index 5124666..054dd45 100644
--- a/minuitwrp/Android.mk
+++ b/minuitwrp/Android.mk
@@ -6,7 +6,6 @@
     graphics.cpp \
     graphics_fbdev.cpp \
     resources.cpp \
-    graphics_overlay.cpp \
     truetype.cpp \
     graphics_utils.cpp \
     events.cpp
@@ -20,6 +19,7 @@
 
 ifeq ($(TW_TARGET_USES_QCOM_BSP), true)
   LOCAL_CFLAGS += -DMSM_BSP
+  LOCAL_SRC_FILES += graphics_overlay.cpp
   ifeq ($(TARGET_PREBUILT_KERNEL),)
     LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
     LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
diff --git a/minuitwrp/graphics.cpp b/minuitwrp/graphics.cpp
index c8ea5cb..3dc88d9 100644
--- a/minuitwrp/graphics.cpp
+++ b/minuitwrp/graphics.cpp
@@ -296,6 +296,7 @@
 {
     gr_draw = NULL;
 
+#ifdef MSM_BSP
     gr_backend = open_overlay();
     if (gr_backend) {
         gr_draw = gr_backend->init(gr_backend);
@@ -304,9 +305,10 @@
         } else
             printf("Using overlay graphics.\n");
     }
+#endif
 
 #ifdef HAS_ADF
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_adf();
         if (gr_backend) {
             gr_draw = gr_backend->init(gr_backend);
@@ -325,7 +327,7 @@
 #endif
 
 #ifdef HAS_DRM
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_drm();
         gr_draw = gr_backend->init(gr_backend);
         if (gr_draw)
@@ -335,7 +337,7 @@
     printf("Skipping drm graphics -- not present in build tree\n");
 #endif
 
-    if (!gr_draw) {
+    if (!gr_backend || !gr_draw) {
         gr_backend = open_fbdev();
         gr_draw = gr_backend->init(gr_backend);
         if (gr_draw == NULL) {
