diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py
index 5088b24..7b3e9ad 100644
--- a/osm_nbi/instance_topics.py
+++ b/osm_nbi/instance_topics.py
@@ -233,7 +233,7 @@
 
             step = "filling nsr from input data"
             nsr_id = str(uuid4())
-            nsr_descriptor = self._create_nsr_descriptor_from_nsd(nsd, ns_request, nsr_id)
+            nsr_descriptor = self._create_nsr_descriptor_from_nsd(nsd, ns_request, nsr_id, session)
 
             # Create VNFRs
             needed_vnfds = {}
@@ -306,7 +306,7 @@
 
         return ns_k8s_namespace
 
-    def _create_nsr_descriptor_from_nsd(self, nsd, ns_request, nsr_id):
+    def _create_nsr_descriptor_from_nsd(self, nsd, ns_request, nsr_id, session):
         now = time()
         additional_params, _ = self._format_additional_params(ns_request, descriptor=nsd)
 
@@ -367,10 +367,7 @@
                             "vnfd-id-ref": vnf_profile.get("vnfd-id")
                         })
 
-                vnfd = self.db.get_one("vnfds",
-                                       {"id": vnf_profile.get("vnfd-id")},
-                                       fail_on_empty=True,
-                                       fail_on_more=True)
+                vnfd = self._get_vnfd_from_db(vnf_profile.get("vnfd-id"), session)
 
                 for vdu in vnfd.get("vdu", ()):
                     flavor_data = {}
