diff --git a/descriptorhandler/views.py b/descriptorhandler/views.py
index b6c2b2a..064b5a5 100644
--- a/descriptorhandler/views.py
+++ b/descriptorhandler/views.py
@@ -216,6 +216,22 @@
             # print nsr_object
             if descriptor_type == 'nsd':
                 result_graph = parser.nsd_to_graph(descriptor_updated)
+    if descriptor_type == 'vnfd':
+        descriptor_result = client.vnfd_get(user.get_token(), descriptor_id)
+        util = OsmUtil()
+        payload = request.POST.dict()
+        if element_type == 'graph_params':
+            descriptor_updated = util.update_graph_params('vnfd', descriptor_result, json.loads(payload['update']))
+        else:
+            descriptor_updated = util.update_node('vnfd', descriptor_result, element_type, json.loads(payload['old']), json.loads(payload['update']))
+        result = client.vnfd_update(user.get_token(), descriptor_id, descriptor_updated)
+        if result['error'] == True:
+            return __response_handler(request, result['data'], url=None,
+                                      status=result['data']['status'] if 'status' in result['data'] else 500)
+        else:
+            parser = OsmParser()
+            if descriptor_type == 'vnfd':
+                result_graph = parser.vnfd_to_graph(descriptor_updated)
 
         return __response_handler(request, result_graph, url=None, status=200)
 
