diff --git a/entries/views.py b/entries/views.py
index 3c6c04c1fe85cd3881a74866d65330d66dd55921..17a2ac587a2f4fcb2219169c58916d1c0bd43f71 100644
--- a/entries/views.py
+++ b/entries/views.py
@@ -414,10 +414,12 @@ def get_scroller_params(POST_data):
 #from django.db.models import Count
 
 
-def iter_lexical_units(lexical_units, has_unified_frame='false'):
+def iter_lexical_units(lexical_units, has_unified_frame='false', exclude_status=None):
     for lu in lexical_units:
         lu._frame = lu._frames[0] if lu._frames and len(lu._frames) > 0 else None
-        if lu._frame is None or (not hasattr(lu._frame, 'slowal_frame_2_unified_frame') and has_unified_frame == 'true'):
+        if lu._frame is None or \
+                (not hasattr(lu._frame, 'slowal_frame_2_unified_frame') and has_unified_frame == 'true') or \
+                (exclude_status is not None and lu._frame.status == exclude_status):
             continue
         else:
             yield lu
@@ -505,7 +507,7 @@ def get_entries(request):
                 )
             )
             if exclude_status is not None:
-                entries = entries.filter(lexical_units__frames__status__iexact=exclude_status)
+                entries = entries.exclude(lexical_units__frames__status=exclude_status)
             entries = entries.filter(lexical_units__frames__isnull=False)
             if has_unified_frame == 'true':
                 entries = entries.filter(lexical_units__frames__slowal_frame_2_unified_frame__isnull=False)
@@ -530,7 +532,7 @@ def get_entries(request):
                     **(
                         {
                             'lexical_units': [
-                                lu2dict(lu) for lu in iter_lexical_units(e.lexical_units.all(), has_unified_frame)
+                                lu2dict(lu) for lu in iter_lexical_units(e.lexical_units.all(), has_unified_frame, exclude_status=exclude_status)
                             ]
                         }
                         if with_lexical_units else {}