diff --git a/Octokit/SimpleJson.cs b/Octokit/SimpleJson.cs index 4b48db24..d5dfb310 100644 --- a/Octokit/SimpleJson.cs +++ b/Octokit/SimpleJson.cs @@ -1486,12 +1486,17 @@ namespace Octokit obj = value; else { - obj = ConstructorCache[type](); foreach (KeyValuePair> setter in SetCache[type]) { object jsonValue; if (jsonObject.TryGetValue(setter.Key, out jsonValue)) { + // Create object if it hasn't been created yet + if (obj == null) + { + obj = ConstructorCache[type](); + } + jsonValue = DeserializeObject(jsonValue, setter.Value.Key); setter.Value.Value(obj, jsonValue); }