diff --git a/api/jobs/handlers.py b/api/jobs/handlers.py
index 03209b9c8db905d269b5e1d73520c9b28c62a30b..b3706924ddbb705cd82b031a415e49cd9ab143fc 100644
--- a/api/jobs/handlers.py
+++ b/api/jobs/handlers.py
@@ -91,7 +91,7 @@ class GearHandler(base.RequestHandler):
 
         dl_id = kwargs.pop('cid')
         gear = get_gear(dl_id)
-        hash_ = gear['hash']
+        hash_ = gear['exchange']['rootfs-hash']
         filepath = os.path.join(config.get_item('persistent', 'data_path'), util.path_from_hash(hash_))
         self.response.app_iter = open(filepath, 'rb')
         self.response.headers['Content-Length'] = str(gear['size']) # must be set after setting app_iter
diff --git a/api/placer.py b/api/placer.py
index b1183c96f68accad69060f613e69d1140e4adc93..4ec832d964f8d86ca2d847933bd742cb47e08fdf 100644
--- a/api/placer.py
+++ b/api/placer.py
@@ -685,12 +685,14 @@ class GearPlacer(Placer):
     def process_file_field(self, field, file_attrs):
         if self.metadata:
             file_attrs.update(self.metadata)
-            self.metadata.update({'hash': file_attrs.get('hash')})
+            self.metadata.update({'exchange': {'rootfs-hash': file_attrs.get('hash'),
+                                               'git-commit': 'local',
+                                               'rootfs-url': '/api/gears/temp/'+file_attrs.get('hash')}})
         # self.metadata['hash'] = file_attrs.get('hash')
         self.save_file(field, file_attrs)
         self.saved.append(file_attrs)
         self.saved.append(self.metadata)
-        
+
 
 
     def finalize(self):