diff --git a/libgnome-desktop/gnome-rr-private.h b/libgnome-desktop/gnome-rr-private.h
index e721e39c..87ec86d4 100644
--- a/libgnome-desktop/gnome-rr-private.h
+++ b/libgnome-desktop/gnome-rr-private.h
@@ -107,6 +107,8 @@ struct _GnomeRRConfigPrivate
 
 gboolean _gnome_rr_output_name_is_builtin_display (const char *name);
 
+gboolean _gnome_rr_output_vendor_is_builtin_display (const char *name);
+
 gboolean _gnome_rr_screen_apply_configuration (GnomeRRScreen  *screen,
 					       gboolean        persistent,
 					       GVariant       *crtcs,
diff --git a/libgnome-desktop/gnome-rr.c b/libgnome-desktop/gnome-rr.c
index 16670ddc..2e647efb 100644
--- a/libgnome-desktop/gnome-rr.c
+++ b/libgnome-desktop/gnome-rr.c
@@ -1691,11 +1691,23 @@ _gnome_rr_output_name_is_builtin_display (const char *name)
 }
 
 gboolean
+_gnome_rr_output_vendor_is_builtin_display (const char *vendor)
+{
+    if (!vendor)
+        return FALSE;
+
+    if (!strcmp (vendor, "APP"))
+        return TRUE;
+
+    return FALSE;
+}
+
+gboolean
 gnome_rr_output_is_builtin_display (GnomeRROutput *output)
 {
     g_return_val_if_fail (output != NULL, FALSE);
 
-    return _gnome_rr_output_name_is_builtin_display (output->name);
+    return _gnome_rr_output_name_is_builtin_display (output->name) || _gnome_rr_output_vendor_is_builtin_display (output->vendor);
 }
 
 /**
