only update defaults if defaults are defined
@@ -169,6 +169,9 @@ class TopLevelMixin(object):
# since this is top-level we add $schema if it's missing
if '$schema' not in dct:
dct['$schema'] = SCHEMA_URL
+
+ # add default values if present
+ if copy._default_spec_values:
dct = update_nested(copy._default_spec_values, dct, copy=True)
return dct
