diff --git a/ds.module b/ds.module
index ee0e3e7..c1e79f1 100644
--- a/ds.module
+++ b/ds.module
@@ -631,7 +631,7 @@ function ds_entity_variables(&$vars) {
       ctools_include('plugins', 'panels');
       $vars['css_id'] = $vars['settings'] = $vars['display'] =  $vars['renderer'] = '';
       $vars['layout'] = panels_get_layout($layout['panels']['name']);
-      $vars['theme_hook_suggestion'] = 'panels_flexible';
+      $vars['theme_hook_suggestion'] = $layout['panels']['theme'];
     }
     else {
       // Template layout.
diff --git a/includes/ds.registry.inc b/includes/ds.registry.inc
index 4f8ecef..7a779e6 100644
--- a/includes/ds.registry.inc
+++ b/includes/ds.registry.inc
@@ -529,7 +529,8 @@ function _ds_ds_layout_info() {
       // Flexible panel layouts, ignore the default flexible.
       else {
         if ($layout['name'] != 'flexible') {
-          $regions = panels_flexible_panels(array(), array(), $layout);
+          $regions_func = $layout['regions function'];
+          $regions = $regions_func(array(), array(), $layout);
           $layouts['panels-' . $key] = array(
             'label' => $layout['title'],
             'path' => $layout['path'],
