diff --git a/doctor/types.py b/doctor/types.py
index <HASH>..<HASH> 100644
--- a/doctor/types.py
+++ b/doctor/types.py
@@ -566,8 +566,12 @@ def get_value_from_schema(schema, definition: dict, key: str,
             value = {}
             for prop, definition in resolved_definition['properties'].items():
                 value[prop] = get_value_from_schema(
-                    schema, definition, key, 'root')
+                    schema, definition, key, definition_key)
             return value
+        # If the definition has a json reference, attempt to resolve it.
+        elif '$ref' in resolved_definition:
+            return get_value_from_schema(
+                schema, resolved_definition, key, definition_key)
         raise TypeSystemError(
             'Definition `{}` is missing a {}.'.format(
                 definition_key, key))
Also recursively resolve refs.