diff --git a/gcloud/datastore/entity.py b/gcloud/datastore/entity.py
index <HASH>..<HASH> 100644
--- a/gcloud/datastore/entity.py
+++ b/gcloud/datastore/entity.py
@@ -213,7 +213,8 @@ class Entity(dict):
           exist only locally.
         """
         key = self._must_key
-        entity = key.get()
+        connection = self._must_dataset.connection()
+        entity = key.get(connection=connection)
 
         if entity:
             self.update(entity)
diff --git a/gcloud/datastore/test_entity.py b/gcloud/datastore/test_entity.py
index <HASH>..<HASH> 100644
--- a/gcloud/datastore/test_entity.py
+++ b/gcloud/datastore/test_entity.py
@@ -264,7 +264,8 @@ class _Key(object):
     def path(self):
         return self._path
 
-    def get(self):
+    def get(self, connection=None):
+        self._connection_used = connection
         return self._stored
Adding back dataset's connection in Entity.reload.