diff --git a/flowspec/tasks.py b/flowspec/tasks.py
index 6be982e0a89e50cc6cd7f9849ba3312dad18e285..295bef7a95e1e50f024be5fed1c7f985ee7e2472 100644
--- a/flowspec/tasks.py
+++ b/flowspec/tasks.py
@@ -125,38 +125,32 @@ def delete(routepk, **kwargs):
     route = Route.objects.get(pk=routepk)
     initial_status = route.status
     try:
-        #username = request.user.username
-        #user_is_admin = request.user.is_superuser()
-        #logger.info("tasks::delete(): username="+str(username)+" route="+str(route)+" initial_status="+str(initial_status))
         applier = PR.Applier(route_object=route)
         commit, response = applier.apply(operation="delete")
         reason_text = ''
         logger.info("tasks::delete(): initial_status="+str(initial_status))
-        fully_deleted=False
-        if commit and initial_status == "PENDING_TODELETE": # special new case for fully deleting a rule via REST API
-           fully_deleted=True
-           route.status="INACTIVE"
-           route.delete()
-           msg1 = "[%s] Fully deleted route : %s%s- Result %s" % (route.applier, route.name, reason_text, response)
-           logger.info("tasks::delete(): DELETED msg="+msg1)
-           announce(msg1, route.applier, route)
         if commit:
-            status = "INACTIVE"
-            if "reason" in kwargs and kwargs['reason'] == 'EXPIRED':
-                status = 'EXPIRED'
-                reason_text = " Reason: %s " % status
+            route.status="INACTIVE"
+            msg1 = "[%s] Fully deleted route : %s%s- Result %s" % (route.applier, route.name, reason_text, response)
+            logger.info("tasks::delete(): DELETED msg="+msg1)
+            announce(msg1, route.applier, route)
             try:
-              #snmp_add_initial_zero_value.delay(str(route.id), False)
-              snmp_add_initial_zero_value(str(route.id), False)
+                snmp_add_initial_zero_value(str(route.id), False)
             except Exception as e:
-              logger.error("edit(): route="+str(route)+", INACTIVE, add_null_value failed: "+str(e))
+                logger.error("edit(): route="+str(route)+", INACTIVE, add_null_value failed: "+str(e))
+            route.delete()
+            return
         else:
-            status = "ERROR"
-        if not fully_deleted:
-          route.status = status
-          route.response = response
-          route.save()
-          announce("[%s] Suspending rule : %s%s- Result %s" % (route.applier_username_nice, route.name, reason_text, response), route.applier, route)
+            # NETCONF "delete" operation failed, keep the object in DB
+            if "reason" in kwargs and kwargs['reason'] == 'EXPIRED':
+                status = 'EXPIRED'
+                reason_text = " Reason: %s " % status
+            else:
+                status = "ERROR"
+            route.status = status
+            route.response = response
+            route.save()
+            announce("[%s] Suspending rule : %s%s- Result %s" % (route.applier_username_nice, route.name, reason_text, response), route.applier, route)
     except TimeLimitExceeded:
         route.status = "ERROR"
         route.response = "Task timeout"