diff --git a/diff.install b/diff.install
index 32faf16..bc1bc99 100644
--- a/diff.install
+++ b/diff.install
@@ -53,8 +53,20 @@ function diff_update_8004() {
  * Update settings.
  */
 function diff_update_8005() {
+  // The original update function had a bug, it set the new configuration of
+  // layout plugins using the old keys (which were changed). Update 8006 will
+  // fix this issue.
+  \Drupal::state()->set('diff_update_8005_placeholder', TRUE);
+}
+
+/**
+ * Update settings, set the new keys of layout plugins.
+ */
+function diff_update_8006() {
   $config = \Drupal::configFactory()->getEditable('diff.settings');
-  $plugins = \Drupal::service('plugin.manager.diff.layout')->getDefinitions();
+  $layout_manager = \Drupal::service('plugin.manager.diff.layout');
+  $layout_manager->clearCachedDefinitions();
+  $plugins = $layout_manager->getDefinitions();
   $config->clear('general_settings.layout_plugins');
   foreach ($plugins as $key => $value) {
     $plugin_options[$key] = $value['label'];
