diff --git a/lib/spack/spack/spec_list.py b/lib/spack/spack/spec_list.py
index bc473f530cce11f22cc3b70e57af3eb99c138432..1aa0ab870e665d4b08d1dfffd2cc710b4fd4e699 100644
--- a/lib/spack/spack/spec_list.py
+++ b/lib/spack/spack/spec_list.py
@@ -25,7 +25,11 @@ def spec_ordering_key(s):
 
 class SpecList(object):
 
-    def __init__(self, name='specs', yaml_list=[], reference={}):
+    def __init__(self, name='specs', yaml_list=None, reference=None):
+        # Normalize input arguments
+        yaml_list = yaml_list or []
+        reference = reference or {}
+
         self.name = name
         self._reference = reference  # TODO: Do we need defensive copy here?