diff --git a/core/modules/views/src/Entity/View.php b/core/modules/views/src/Entity/View.php
index e42058e..d2242f2 100644
--- a/core/modules/views/src/Entity/View.php
+++ b/core/modules/views/src/Entity/View.php
@@ -227,7 +227,7 @@ public function &getDisplay($display_id) {
    * {@inheritdoc}
    */
   public function duplicateDisplayAsType($old_display_id, $new_display_type) {
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
     $display = $executable->newDisplay($new_display_type);
     $new_display_id = $display->display['id'];
     $displays = $this->get('display');
@@ -264,7 +264,7 @@ public function calculateDependencies() {
     // Ensure that the view is dependant on the module that implements the view.
     $this->addDependency('module', $this->module);
 
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
     $executable->initDisplay();
     $handler_types = array_keys(Views::getHandlerTypes());
 
@@ -324,7 +324,7 @@ public function preSave(EntityStorageInterface $storage) {
    * a view at save time rather than at runtime.
    */
   protected function addCacheMetadata() {
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
 
     $current_display = $executable->current_display;
     $displays = $this->get('display');
diff --git a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
index cdf0723..d283ea5 100644
--- a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
+++ b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
@@ -730,7 +730,7 @@ protected function alterDisplayOptions(&$display_options, $form, FormStateInterf
   protected function addDisplays(View $view, $display_options, $form, FormStateInterface $form_state) {
     // Initialize and store the view executable to get the display plugin
     // instances.
-    $executable = $view->getExecutable();
+    $executable = Views::executableFactory()->get($view);
 
     // Display: Master
     $default_display = $executable->newDisplay('default', 'Master', 'default');
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index 670d819..168e078 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -1792,7 +1792,8 @@ public function getUser() {
    * data, ID, and UUID.
    */
   public function createDuplicate() {
-    return $this->storage->createDuplicate()->getExecutable();
+    $view = $this->storage->createDuplicate();
+    return Views::executableFactory()->get($view);
   }
 
   /**
diff --git a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
index 4b76fd7..40fc6a8 100644
--- a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
+++ b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
@@ -67,7 +67,7 @@ public function buildForm(array $form, FormStateInterface $form_state, Request $
         '#attributes' => array('class' => array('scroll'), 'data-drupal-views-scroll' => TRUE),
       ),
     );
-    $executable = $view->getExecutable();
+    $executable = Views::executableFactory()->get($view);
     $save_ui_cache = FALSE;
     $executable->setDisplay($display_id);
     $item = $executable->getHandler($display_id, $type, $id);
