diff --git a/src/EntityClone/Content/ContentEntityCloneBase.php b/src/EntityClone/Content/ContentEntityCloneBase.php
index dea3e7b..5bdf791 100644
--- a/src/EntityClone/Content/ContentEntityCloneBase.php
+++ b/src/EntityClone/Content/ContentEntityCloneBase.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\entity_clone\EntityClone\Content;
 
+use Drupal\block_content\BlockContentInterface;
 use Drupal\Core\Entity\EntityHandlerInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
@@ -11,6 +12,7 @@ use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Field\FieldConfigInterface;
 use Drupal\Core\Field\FieldItemListInterface;
 use Drupal\entity_clone\EntityClone\EntityCloneInterface;
+use Drupal\layout_builder\InlineBlockUsageInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -32,6 +34,13 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter
    */
   protected $entityTypeId;
 
+  /**
+   * Inline block Usage.
+   *
+   * @var Drupal\layout_builder\InlineBlockUsageInterface
+   */
+  protected $inlineBlockUsage;
+
   /**
    * Constructs a new ContentEntityCloneBase.
    *
@@ -39,10 +48,13 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter
    *   The entity type manager.
    * @param string $entity_type_id
    *   The entity type ID.
+   * @param Drupal\layout_builder\InlineBlockUsageInterface $inline_block_usage
+   *   Inline block usage.
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, $entity_type_id) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, $entity_type_id, InlineBlockUsageInterface $inline_block_usage) {
     $this->entityTypeManager = $entity_type_manager;
     $this->entityTypeId = $entity_type_id;
+    $this->inlineBlockUsage = $inline_block_usage;
   }
 
   /**
@@ -51,7 +63,8 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter
   public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
     return new static(
       $container->get('entity_type.manager'),
-      $entity_type->id()
+      $entity_type->id(),
+      $container->get('inline_block.usage')
     );
   }
 
@@ -71,6 +84,23 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter
             $cloned_entity->set($field_id, $this->cloneReferencedEntities($field, $field_definition, $properties, $already_cloned));
           }
         }
+        if ($field_definition instanceof FieldConfigInterface && $field_definition->getType() === 'layout_section') {
+          $field = $entity->get($field_id);
+          if ($field->count() > 0) {
+            $value_array = $this->cloneInlineBlockEntities($field, $field_definition, $properties, $already_cloned);
+            $cloned_entity->set($field_id, $value_array);
+            // Set inline block usage after setting the field otherwise there will be access issue.
+            foreach ($value_array as $value) {
+              $components = $value->getComponents();
+              foreach ($components as $component) {
+                $referenced_block = \Drupal::entityTypeManager()
+                  ->getStorage('block_content')
+                  ->loadRevision($component->toArray()['configuration']['block_revision_id']);
+                $this->inlineBlockUsage->addUsage($referenced_block->id(), $cloned_entity);
+              }
+            }
+          }
+        }
       }
     }
 
@@ -116,6 +146,61 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter
     }
   }
 
+  /**
+   * Clone referenced entities.
+   *
+   * @param \Drupal\Core\Field\FieldItemListInterface $field
+   *   The field item.
+   * @param \Drupal\Core\Field\FieldConfigInterface $field_definition
+   *   The field definition.
+   * @param array $properties
+   *   All new properties to replace old.
+   * @param array $already_cloned
+   *   List of all already cloned entities, used for circular references.
+   *
+   * @return array
+   *   Referenced entities.
+   */
+  protected function cloneInlineBlockEntities(FieldItemListInterface $field, FieldConfigInterface $field_definition, array $properties, array &$already_cloned) {
+    $referenced_entities = [];
+    foreach ($field as $sid => $value) {
+      if ($value->isEmpty()) {
+        continue;
+      }
+      $section = $value->section;
+      if (!$section) {
+        continue;
+      }
+      $components = $section->getComponents();
+      $delta = 0;
+      foreach ($components as $component) {
+        // If it is not a revisionable block, skip.
+        if (!isset($component->toArray()['configuration']) || !isset($component->toArray()['configuration']['block_revision_id'])) {
+          continue;
+        }
+        $configuration = $component->toArray()['configuration'];
+        $referenced_entity = \Drupal::entityTypeManager()
+          ->getStorage('block_content')
+          ->loadRevision($configuration['block_revision_id']);
+
+        if ($referenced_entity && $referenced_entity instanceof BlockContentInterface) {
+          $child_properties = $this->getChildProperties($properties, $field_definition, $referenced_entity);
+          $cloned_reference = $referenced_entity->createDuplicate();
+          /** @var \Drupal\entity_clone\EntityClone\EntityCloneInterface $entity_clone_handler */
+          $entity_clone_handler = $this->entityTypeManager->getHandler($referenced_entity->getEntityTypeId(), 'entity_clone');
+          $entity_clone_handler->cloneEntity($referenced_entity, $cloned_reference, $child_properties['children'], $already_cloned);
+          $configuration['block_revision_id'] = $cloned_reference->getRevisionId();
+          $component->setConfiguration($configuration);
+          $section->insertComponent($delta, $component);
+          $section->removeComponent($delta + 1);
+        }
+        $delta++;
+      }
+      $referenced_entities[$sid] = $section;
+    }
+    return $referenced_entities;
+  }
+
   /**
    * Clone referenced entities.
    *
diff --git a/src/EntityClone/Content/ContentEntityCloneFormBase.php b/src/EntityClone/Content/ContentEntityCloneFormBase.php
index a8ff26a..2d7126f 100644
--- a/src/EntityClone/Content/ContentEntityCloneFormBase.php
+++ b/src/EntityClone/Content/ContentEntityCloneFormBase.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\entity_clone\EntityClone\Content;
 
+use Drupal\block_content\BlockContentInterface;
 use Drupal\Core\Entity\ContentEntityInterface;
 use Drupal\Core\Entity\EntityHandlerInterface;
 use Drupal\Core\Entity\EntityInterface;
@@ -14,6 +15,7 @@ use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\StringTranslation\TranslationManager;
 use Drupal\entity_clone\EntityClone\EntityCloneFormInterface;
 use Drupal\entity_clone\EntityCloneSettingsManager;
+use Drupal\layout_builder\SectionListInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -98,6 +100,12 @@ class ContentEntityCloneFormBase implements EntityHandlerInterface, EntityCloneF
             $form['recursive'] = array_merge($form['recursive'], $this->getRecursiveFormElement($field_definition, $field_id, $field, $discovered_entities));
           }
         }
+        if ($field_definition instanceof FieldConfigInterface && $field_definition->getType() === 'layout_section') {
+          $field = $entity->get($field_id);
+          if ($field->count() > 0) {
+            $form['recursive'] = array_merge($form['recursive'], $this->getRecursiveLayoutFormElement($field_definition, $field_id, $field, $discovered_entities));
+          }
+        }
       }
 
       if ($parent) {
@@ -113,6 +121,77 @@ class ContentEntityCloneFormBase implements EntityHandlerInterface, EntityCloneF
     return $form;
   }
 
+  /**
+   * Get the recursive Inline Blocks form element.
+   *
+   * @param \Drupal\Core\Field\FieldConfigInterface $field_definition
+   *   The field definition.
+   * @param string $field_id
+   *   The field ID.
+   * @param \Drupal\layout_builder\SectionListInterface $field
+   *   The field item.
+   * @param array $discovered_entities
+   *   List of all entities already discovered.
+   *
+   * @return array
+   *   The form element for a recursive clone.
+   * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
+   * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
+   */
+  protected function getRecursiveLayoutFormElement(FieldConfigInterface $field_definition, $field_id, SectionListInterface $field, array &$discovered_entities) {
+    $form_element = [
+      '#tree' => TRUE,
+    ];
+
+    $fieldset_access = !$this->entityCloneSettingsManager->getHiddenValue($field_definition->getFieldStorageDefinition()->getSetting('target_type'));
+    $form_element[$field_definition->id()] = [
+      '#type' => 'fieldset',
+      '#title' => $this->translationManager->translate('Entities referenced by field <em>@label (@field_id)</em>.', [
+        '@label' => $field_definition->label(),
+        '@field_id' => $field_id,
+      ]),
+      '#access' => $fieldset_access,
+      '#description_should_be_shown' => $fieldset_access,
+    ];
+
+    foreach ($field as $value) {
+      if ($value->isEmpty()) {
+        continue;
+      }
+      $section = $value->section;
+      if (!$section) {
+        continue;
+      }
+      $components = $section->getComponents();
+      foreach ($components as $component) {
+        // If it is not a revisionable block, skip.
+        if (!isset($component->toArray()['configuration']) || !isset($component->toArray()['configuration']['block_revision_id'])) {
+          continue;
+        }
+        $configuration = $component->toArray()['configuration'];
+        $referenced_entity = \Drupal::entityTypeManager()->getStorage('block_content')->loadRevision($configuration['block_revision_id']);
+        if ($referenced_entity instanceof BlockContentInterface && $referenced_entity->id()) {
+          $form_element[$field_definition->id()]['references'][$referenced_entity->id()]['clone'] = [
+            '#type' => 'checkbox',
+            '#title' => $this->translationManager->translate('Clone entity <strong>ID:</strong> <em>@entity_id</em>, <strong>Type:</strong> <em>@entity_type - @bundle</em>, <strong>Label:</strong> <em>@entity_label</em>', [
+              '@entity_id' => $referenced_entity->id(),
+              '@entity_type' => $referenced_entity->getEntityTypeId(),
+              '@bundle' => $referenced_entity->bundle(),
+              '@entity_label' => $referenced_entity->label(),
+            ]),
+            '#default_value' => $this->entityCloneSettingsManager->getDefaultValue($referenced_entity->getEntityTypeId()),
+            '#access' => $referenced_entity->access('view label'),
+          ];
+        }
+        if ($referenced_entity instanceof ContentEntityInterface) {
+          $form_element[$field_definition->id()]['references'][$referenced_entity->id()]['children'] = $this->getChildren($referenced_entity, $discovered_entities);
+        }
+      }
+    }
+
+    return $form_element;
+  }
+
   /**
    * Get the recursive form element.
    *
