diff --git a/configyaml/config/dict.py b/configyaml/config/dict.py
index <HASH>..<HASH> 100644
--- a/configyaml/config/dict.py
+++ b/configyaml/config/dict.py
@@ -43,7 +43,7 @@ class DictNode(AbstractNode):
         for k, v in self._dict_fields.items():
             if 'default' in v:
                 default = v['default']
-                instance = v['class'](value=default)
+                instance = v['class'](value=default, context=self._context, parent=self)
                 self.__dict__[k] = instance
                 self._children[k] = instance
 
diff --git a/tests/test_dict.py b/tests/test_dict.py
index <HASH>..<HASH> 100644
--- a/tests/test_dict.py
+++ b/tests/test_dict.py
@@ -104,11 +104,13 @@ def test_default():
     config = DummyConfigDefault(value=value)
     assert config.is_valid()
     assert config.foo._value == 'test'
+    assert config.foo._parent == config
 
     value = {'foo': 'bar'}
     config = DummyConfigDefault(value=value)
     assert config.is_valid()
     assert config.foo._value == 'bar'
+    assert config.foo._parent == config
 
 
 def test_get_item():
pass context and parent in DictNode default instance