diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index 78623fd6..81b6d5a0 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -172,19 +172,18 @@ impl LanguageConfiguration {
         }
     }
 
-    pub fn highlight_config(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> {
-        if let Some(config) = self.highlight_config.get() {
-            if let Some(config) = config {
-                config.configure(scopes);
-            }
-            config.clone()
-        } else {
-            self.highlight_config
-                .get_or_init(|| self.initialize_highlight(scopes))
-                .clone()
+    pub fn reconfigure(&self, scopes: &[String]) {
+        if let Some(Some(config)) = self.highlight_config.get() {
+            config.configure(scopes);
         }
     }
 
+    pub fn highlight_config(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> {
+        self.highlight_config
+            .get_or_init(|| self.initialize_highlight(scopes))
+            .clone()
+    }
+
     pub fn is_highlight_initialized(&self) -> bool {
         self.highlight_config.get().is_some()
     }
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index 83d5cbf6..35a547ad 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -85,7 +85,7 @@ impl Editor {
             .language_configs_iter()
             .filter(|cfg| cfg.is_highlight_initialized())
         {
-            config.highlight_config(scopes);
+            config.reconfigure(scopes);
         }
 
         self.theme = theme;