diff --git a/src/svm/svm_fifo.h b/src/svm/svm_fifo.h
index 42efb5a..9b55f72 100644
--- a/src/svm/svm_fifo.h
+++ b/src/svm/svm_fifo.h
@@ -35,8 +35,6 @@
   SVM_FIFO_WANT_DEQ_NOTIF = 1,		/**< Notify on dequeue */
   SVM_FIFO_WANT_DEQ_NOTIF_IF_FULL = 2,	/**< Notify on transition from full */
   SVM_FIFO_WANT_DEQ_NOTIF_IF_EMPTY = 4, /**< Notify on transition to empty */
-  SVM_FIFO_WANT_DEQ_NOTIF_IF_LEQ_THRESH = 5, /**< Notify on transition to less
-					       than or equal threshold */
 } svm_fifo_deq_ntf_t;
 
 typedef enum svm_fifo_flag_
@@ -795,8 +793,7 @@
   /* Set the flag if want_notif_if_full was the only ntf requested */
   f->shr->has_deq_ntf =
     f->shr->want_deq_ntf == SVM_FIFO_WANT_DEQ_NOTIF_IF_FULL;
-  svm_fifo_del_want_deq_ntf (f, SVM_FIFO_WANT_DEQ_NOTIF |
-				  SVM_FIFO_WANT_DEQ_NOTIF_IF_LEQ_THRESH);
+  svm_fifo_del_want_deq_ntf (f, SVM_FIFO_WANT_DEQ_NOTIF);
 }
 
 /**
@@ -832,7 +829,7 @@
   if (PREDICT_TRUE (want_ntf == SVM_FIFO_NO_DEQ_NOTIF))
     return 0;
   else if (want_ntf & SVM_FIFO_WANT_DEQ_NOTIF)
-    return 1;
+    return (svm_fifo_max_enqueue (f) >= f->shr->deq_thresh);
   if (want_ntf & SVM_FIFO_WANT_DEQ_NOTIF_IF_FULL)
     {
       u32 max_deq = svm_fifo_max_dequeue_cons (f);
@@ -846,12 +843,6 @@
       if (!f->shr->has_deq_ntf && svm_fifo_is_empty (f))
 	return 1;
     }
-  if (want_ntf & SVM_FIFO_WANT_DEQ_NOTIF_IF_LEQ_THRESH)
-    {
-      if (!f->shr->has_deq_ntf &&
-	  (svm_fifo_max_dequeue (f) <= f->shr->deq_thresh))
-	return 1;
-    }
   return 0;
 }
 
@@ -859,7 +850,7 @@
  * Set the fifo dequeue threshold which will be used for notifications.
  *
  * Note: If not set, by default threshold is zero, equivalent to
- * empty.
+ * generating notification on each dequeue event.
  */
 static inline void
 svm_fifo_set_deq_thresh (svm_fifo_t *f, u32 thresh)
