diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index 06954f535b2a5d1a5418de5fb9fdd664dc7ba626..3bdefd3a6c6122da9cbfd8002c3f7d7888ff004b 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -548,7 +548,7 @@ def update_config(section, update_data, scope=None):
     if isinstance(update_data, list):
         configuration = update_data
     else:
-        configuration.extend(update_data)
+        configuration.update(update_data)
 
     # read only the requested section's data.
     scope.sections[section] = {section: configuration}