diff --git a/panels_lock_region.module b/panels_lock_region.module
index d115140..bee1cc5 100644
--- a/panels_lock_region.module
+++ b/panels_lock_region.module
@@ -96,3 +96,48 @@ function _panels_lock_region_region_is_locked($display, $region) {
 
   return FALSE;
 }
+
+/**
+ * Alter panelizers edit content form.
+ *
+ * Support locking of regions for default displays on the the entity types
+ * panelizer configuration page.
+ */
+function panels_lock_region_form_panelizer_edit_content_form_alter(&$form, &$form_state) {
+  $display = $form_state['display'];
+  $renderer = $form_state['renderer'];
+  $default_values = array();
+
+  // Provide checkboxes for each region in the current layout.
+  foreach ($renderer->plugins['layout']['regions'] as $region => $title) {
+    $locked_status = !empty($display->panel_settings['region_lock'][$region]) ? $display->panel_settings['region_lock'][$region] : 'unlocked';
+    $default_values[$region] = $locked_status == 'locked' ? $region : 0;
+  }
+  $form['panel']['region_lock'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Locked regions'),
+    '#description' => t('Please check any region that should be locked by default. Users with sufficient permission will be able to override this in the IPE editor.'),
+    '#options' => $renderer->plugins['layout']['regions'],
+    '#default_value' => $default_values,
+    '#weight' => 1,
+  );
+  // Make sure our submit handler is the first in the row, so that we can
+  // update our settings in the display object.
+  array_unshift($form['buttons']['submit']['#submit'], 'panels_lock_region_form_panelizer_edit_content_form_submit');
+}
+
+/**
+ * Custom form submit handler for panelizers edit content form.
+ */
+function panels_lock_region_form_panelizer_edit_content_form_submit($form, &$form_state) {
+  $values = $form_state['values'];
+  $display = &$form_state['display'];
+
+  // We overwrite the previous settings entirely to make sure that there are no
+  // leftover region keys inside, which might happen after changing the layout.
+  $region_lock = array();
+  foreach ($values['panel']['region_lock'] as $region => $locked_status) {
+    $region_lock[$region] = $locked_status ? 'locked' : 'unlocked';
+  }
+  $display->panel_settings['region_lock'] = $region_lock;
+}
