diff --git a/core/registrar.py b/core/registrar.py
index c501b6cd22e2de7f695dba6018f2ee41e288b179..d69f2586a100a7d6d08cd7bc339413756220f635 100644
--- a/core/registrar.py
+++ b/core/registrar.py
@@ -147,12 +147,15 @@ class RegistrationError(Exception):
 @transaction.atomic
 def registrar(
     collection,
-    objects_prefix, upload_container, replace=False, client=None, registered_set_key=None
+    objects_prefix, upload_container=None, replace=False, client=None, registered_set_key=None
 ):
     logger.info("Starting registration of product '%s'." % objects_prefix)
 
-    metadata_package, data_package, has_vrt = None, None, None
-
+    metadata_package, data_package = None, None
+    if not upload_container:
+        # assuming objects_prefix = bucket/itemname
+        upload_container = objects_prefix.split("/")[0]
+        objects_prefix = objects_prefix.split("/")[1]
     with SwiftService() as swift:
         list_parts_gen = swift.list(
             container=upload_container, options={"prefix": objects_prefix},
@@ -165,11 +168,7 @@ def registrar(
                         metadata_package = item["name"]
                     elif item["name"].endswith(".TIF") or \
                             item["name"].endswith(".tif"):
-                        if has_vrt is not True:
-                            data_package = item["name"]
-                    elif item["name"].endswith(".vrt"):
                         data_package = item["name"]
-                        has_vrt = True
                     elif not item["name"].endswith(".tar"):
                         raise RegistrationError(
                             "Product with objects prefix '%s' has "