diff --git a/tasklib/task.py b/tasklib/task.py
index <HASH>..<HASH> 100644
--- a/tasklib/task.py
+++ b/tasklib/task.py
@@ -126,7 +126,10 @@ class TaskResource(SerializingObject):
         except ValueError:
             pass
 
-        return self._data.get(key) or self._deserialize(key, None)
+        if key not in self._data:
+            self._data[key] = self._deserialize(key, None)
+
+        return self._data.get(key)
 
     def __setitem__(self, key, value):
         if key in self.read_only_fields:
Set missing attributes back to Task._data on access

Allows appending/adding to empty lists/sets