diff --git a/config/install/field.storage.node.field_uw_blank_summary.yml b/config/install/field.storage.node.field_uw_blank_summary.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5252b3f521217a34aa2ed7c7380e34d6b47e2349
--- /dev/null
+++ b/config/install/field.storage.node.field_uw_blank_summary.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_uw_blank_summary
+field_name: field_uw_blank_summary
+entity_type: node
+type: boolean
+settings: {  }
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/uw_cfg_common.module b/uw_cfg_common.module
index 5eacc811a6bad55fde75a8abc387810e7ca20f95..4fbedf2e3f38e20466f1b6303d9076b1d3bea147 100644
--- a/uw_cfg_common.module
+++ b/uw_cfg_common.module
@@ -128,6 +128,36 @@ function uw_cfg_common_entity_presave(EntityInterface $entity) {
   // images will not work.
   if ($entity->getEntityTypeId() == 'node') {
 
+    // ISTWCMS-5846: if the leave summary blank is checked
+    // on the node add/edit page, set the summary to NULL.
+    // Check that the node has the field leave summary blank.
+    if ($entity->hasField('field_uw_blank_summary')) {
+
+      // If the leave summary blank is checked, set summary to NULL.
+      if ($entity->field_uw_blank_summary->value) {
+
+        // Get the node type from the entity.
+        $node_type = $entity->getType();
+
+        // Since all the summary fields are field_uw_ct_<node_type>_summary,
+        // we need to get the node_type from the getType.  We need this
+        // because the node_type has uw_ct_ in the name, so simply replacing
+        // the uw_ct_ with nothing will give us the node_type.
+        // the uw_ct_ with nothing will give us the node_type.
+        $node_type = str_replace('uw_ct_', '', $node_type);
+
+        // Since news has the content type with news_item, we need
+        // to remove the _item to get the correct field name.
+        $node_type = str_replace('_item', '', $node_type);
+
+        // Set the field name using the notation from above.
+        $field_name = 'field_uw_' . $node_type . '_summary';
+
+        // Now set the summary to NULL using the field_name.
+        $entity->$field_name = NULL;
+      }
+    }
+
     // If there is a hero image (media), continue to process.
     if (
       $entity->hasField('field_uw_hero_image') &&
@@ -888,6 +918,46 @@ function uw_cfg_common_preprocess_responsive_image(&$variables) {
  */
 function uw_cfg_common_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
 
+  // ISTWCMS-5846: if we are on a UW content type which is
+  // the notation of node_uw_ct_<node_type>_form of the
+  // form_id, then we need to add the status to the
+  // summary field.
+  if (preg_match("/node_uw_ct_.*form/", $form_id)) {
+
+    // Only add states if we have the blank summary field.
+    if (isset($form['field_uw_blank_summary'])) {
+
+      // Since we are unable to simply get the node type in format that
+      // we need to use it (i.e. event, news, blog, etc.), we need to
+      // take the form_id and manipulate it to get us the node type.
+      // First is the remove the node_uw_ct_, then the _edit and
+      // finally the _form.
+      $node_type = str_replace('node_uw_ct_', '', $form_id);
+      $node_type = str_replace('_edit', '', $node_type);
+      $node_type = str_replace('_form', '', $node_type);
+
+      // We need to add this because news has the name news_item in its
+      // content type, so we need to remove that to just get news
+      // to be used in the field name.
+      $node_type = str_replace('_item', '', $node_type);
+
+      // Now since all the fields names are the same,
+      // field_uw_<node_type>_summary, we can get
+      // the proper field name.
+      $field_name = 'field_uw_' . $node_type . '_summary';
+
+      // Set the states of the summary, required and visible.
+      $form[$field_name]['widget'][0]['#states'] = [
+        'required' => [
+          ':input[name="field_uw_blank_summary[value]"]' => ['checked' => FALSE],
+        ],
+        'visible' => [
+          ':input[name="field_uw_blank_summary[value]"]' => ['checked' => FALSE],
+        ],
+      ];
+    }
+  }
+
   // ISTWCMS-4648: removing revisions from layout builder page.
   if (\Drupal::routeMatch()->getRouteName() == 'layout_builder.overrides.node.view') {
     $form['revision']['#access'] = FALSE;