diff --git a/osmclient/common/package_tool.py b/osmclient/common/package_tool.py
index 2531f7a..a2cbd87 100644
--- a/osmclient/common/package_tool.py
+++ b/osmclient/common/package_tool.py
@@ -519,28 +519,13 @@
             ]
         else:
             descriptors_paths = [f for f in glob.glob(package_folder + "/*.yaml")]
-        if len(descriptors_paths) == 1:
-            # The base folder usually has a single yaml file with the descriptor
-            descriptor_file = True
-            pkg_type = utils.get_key_val_from_descriptor(descriptors_paths[0])
-            if pkg_type is None:
-                raise ClientException("Cannot determine package type")
-            if pkg_type["type"] == "nsd":
-                charms_set = self.charms_search(descriptors_paths[0], "ns")
-            else:
-                charms_set = self.charms_search(descriptors_paths[0], "vnf")
-        elif len(descriptors_paths) > 1:
-            for file in descriptors_paths:
-                if file.endswith("nfd.yaml"):
-                    descriptor_file = True
-                    charms_set = self.charms_search(file, "vnf")
-                if file.endswith("nsd.yaml"):
-                    descriptor_file = True
-                    charms_set = self.charms_search(file, "ns")
-        else:
-            raise ClientException(
-                "Package folder does not contain valid descriptor files '*.yaml'"
-            )
+        for file in descriptors_paths:
+            if file.endswith("nfd.yaml"):
+                descriptor_file = True
+                charms_set = self.charms_search(file, "vnf")
+            if file.endswith("nsd.yaml"):
+                descriptor_file = True
+                charms_set = self.charms_search(file, "ns")
         print("List of charms in the descriptor: {}".format(charms_set))
         if not descriptor_file:
             raise ClientException(
