diff --git a/includes/admin.inc b/includes/admin.inc
index c36fb82..c719ecc 100644
--- a/includes/admin.inc
+++ b/includes/admin.inc
@@ -336,6 +336,7 @@ function panelizer_default_layout_page($handler, $bundle, $name, $view_mode, $st
     $handler = panelizer_entity_plugin_get_handler($handler);
   }
 
+  $original_bundle = $bundle;
   if ($view_mode) {
     $bundle .= '.' . $view_mode;
   }
@@ -358,7 +359,7 @@ function panelizer_default_layout_page($handler, $bundle, $name, $view_mode, $st
   $form_state = array(
     'display' => $display,
     'wizard path' => $path . '/layout/%step',
-    'allowed_layouts' => 'panelizer_' . $handler->entity_type . ':' . $bundle,
+    'allowed_layouts' => panelizer_get_allowed_layouts_option($handler->entity_type, $original_bundle),
   );
 
   ctools_include('common', 'panelizer');
diff --git a/panelizer.module b/panelizer.module
index 532316f..83b203c 100644
--- a/panelizer.module
+++ b/panelizer.module
@@ -1154,12 +1154,7 @@ function panelizer_panels_cache_get($argument) {
   }
 
   // Set the allowed layout options
-  if (variable_get('panelizer_' . $type . ':' . $bundle . '_allowed_layouts_default', FALSE)) {
-    $cache->display->allowed_layouts = panels_common_get_allowed_layouts('panels_page');
-  }
-  else {
-    $cache->display->allowed_layouts = panels_common_get_allowed_layouts('panelizer_' . $type . ':' . $bundle, $cache->display->context);
-  }
+  $cache->display->allowed_layouts = panels_common_get_allowed_layouts(panelizer_get_allowed_layouts_option($type, $bundle));
 
   return $cache;
 }
@@ -1478,6 +1473,26 @@ function panelizer_operations() {
 }
 
 /**
+ * Gets the current layout options approach for an entity bundle.
+ *
+ * @param string $type
+ *   The entity type.
+ * @param string $bundle
+ *   The entity bundle.
+ *
+ * @return string
+ *   The name of the layout approach to check (default or per bundle).
+ */
+function panelizer_get_allowed_layouts_option($type, $bundle) {
+  if (variable_get('panelizer_' . $type . ':' . $bundle . '_allowed_layouts_default', FALSE)) {
+    return 'panels_page';
+  }
+  else {
+    return 'panelizer_' . $type . ':' . $bundle;
+  }
+}
+
+/**
  * Implements hook_form_alter().
  *
  * Alter the IPE save control form to handle extra Panelizer functionality.
diff --git a/plugins/entity/PanelizerEntityDefault.class.php b/plugins/entity/PanelizerEntityDefault.class.php
index 797b35e..7db4967 100644
--- a/plugins/entity/PanelizerEntityDefault.class.php
+++ b/plugins/entity/PanelizerEntityDefault.class.php
@@ -1507,7 +1507,7 @@ function page_layout($js, $input, $entity, $view_mode, $step = NULL, $layout = N
       'revision info' => $this->entity_allows_revisions($entity),
       'display' => $display,
       'wizard path' => $path . '/layout/%step',
-      'allowed_layouts' => 'panelizer_' . $this->entity_type . ':' . $bundle,
+      'allowed_layouts' => panelizer_get_allowed_layouts_option($this->entity_type, $bundle),
     );
 
     ctools_include('common', 'panelizer');
