diff --git a/data/CRMEntity.php b/data/CRMEntity.php
index 5d231a2f64034c44c65d8faba1cc0847b095d794..4c417531cbfb5b22da7c1ad389d3961bdad81e09 100644
--- a/data/CRMEntity.php
+++ b/data/CRMEntity.php
@@ -3121,7 +3121,7 @@ class TrackableObject implements ArrayAccess, IteratorAggregate {
 	}
 
 	function offsetExists($key) {
-		return isset($this->storage[$key]);
+		return isset($this->storage[$key]) || array_key_exists($key, $this->storage);
 	}
 
 	function offsetSet($key, $value) {
@@ -3142,7 +3142,7 @@ class TrackableObject implements ArrayAccess, IteratorAggregate {
 	}
 
 	public function offsetGet($key) {
-		return isset($this->storage[$key]) ? $this->storage[$key] : null;
+		return isset($this->storage[$key]) || array_key_exists($key, $this->storage) ? $this->storage[$key] : null;
 	}
 
 	public function getIterator() {