diff --git a/src/BlazySettings.php b/src/BlazySettings.php
index 1234567..abcdefg 100644
--- a/src/BlazySettings.php
+++ b/src/BlazySettings.php
@@ -384,7 +384,13 @@ class BlazySettings implements \Countable {
     if (count($parts) == 1) {
       $this->storage[$key] = $value;
     }
     else {
-      NestedArray::setValue($this->storage, $parts, $value);
+      // Ensure parent keys are arrays before setting nested values to avoid
+      // LogicException when a parent was previously set as a scalar value.
+      $parent = $parts[0];
+      if (isset($this->storage[$parent]) && !is_array($this->storage[$parent])) {
+        $this->storage[$parent] = [];
+      }
+      NestedArray::setValue($this->storage, $parts, $value);
     }
     return $this;
   }
