diff --git a/app/soc/logic/host.py b/app/soc/logic/host.py
index 07a89f4..7b6352c 100644
--- a/app/soc/logic/host.py
+++ b/app/soc/logic/host.py
@@ -50,14 +50,6 @@
       program_entity)
   q = User.all()
   q.filter('host_for', sponsor_key)
-  host_users = q.fetch(1000)
-
-  # TODO(Madhu): to be simplified after host_for is moved from user entity
-  # to host entity
-  hosts = []
-  for user in host_users:
-    q = Host.all()
-    q.ancestor(user)
-    hosts.append(q.get())
-
-  return hosts
+  # TODO(Madhu): Return the host entities once we run the Mapreduce to convert
+  # host entities to refer to their corresponding user entities.
+  return q.fetch(1000)
diff --git a/app/soc/modules/gsoc/views/slot_transfer.py b/app/soc/modules/gsoc/views/slot_transfer.py
index ccf28e9..d8764d6 100644
--- a/app/soc/modules/gsoc/views/slot_transfer.py
+++ b/app/soc/modules/gsoc/views/slot_transfer.py
@@ -197,9 +197,14 @@
         slot_transfer_entity = ent
         break
 
-    host_entities = host_logic.getHostsForProgram(self.data.program)
-    to_emails = [i.parent().account.email() for i in host_entities
-                 if i.notify_slot_transfer]
+    # TODO(Madhu): This should return the host entities and not the user
+    # entities and we should check for host.notify_slot_transfer before
+    # sending the email. But at the moment we haved saved all our hosts
+    # without reference to their user entities as parents, so we don't
+    # have a way to get the relationship between the user entities and
+    # the host entities. So use the user entities for now.
+    host_users = host_logic.getHostsForProgram(self.data.program)
+    to_emails = [u.account.email() for u in host_users]
 
     def create_or_update_slot_transfer_trx():
       update = False
