diff --git a/entries/views.py b/entries/views.py
index e9be91948c4b80a2c05d85fe84aa818b7e86a1a1..7891091c8c3e4cc86f236b3d77d7abbdb7213c71 100644
--- a/entries/views.py
+++ b/entries/views.py
@@ -412,7 +412,6 @@ def get_entries(request):
         total = entries.count()
         if scroller_params['filter']:
             entries = entries.filter(name__startswith=scroller_params['filter'])
-        filtered = entries.count()
 
         local_frame_form = None
         if 'frame_form' in request.session:
@@ -452,6 +451,11 @@ def get_entries(request):
         )
 
         if with_lexical_units:
+            if exclude_status is not None:
+                entries = entries.filter(lexical_units__frames__status__iexact=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)
             frameQueryset = Frame.objects.select_related("slowal_frame_2_unified_frame").prefetch_related(Prefetch("assignments", to_attr="_assignments"));
             entries = entries.prefetch_related(
                 Prefetch(
@@ -466,6 +470,8 @@ def get_entries(request):
                 )
             )
 
+        filtered = entries.count()
+
         status_names = STATUS()
         POS_names = POS()
 
@@ -476,10 +482,6 @@ def get_entries(request):
                     continue
                 else:
                     yield lu
-        import datetime
-        now = datetime.datetime.now()
-        print("1 Current date and time : ")
-        print(now.strftime("%Y-%m-%d %H:%M:%S"))
 
         result = {
             'draw' : scroller_params['draw'],
@@ -509,34 +511,10 @@ def get_entries(request):
                         }
                         if with_lexical_units else {}
                     ),
-                } for e in (entries if with_lexical_units else entries[first_index:last_index])
+                } for e in entries[first_index:last_index]
             ],
         }
 
-        now = datetime.datetime.now()
-        print("2 Current date and time : ")
-        print(now.strftime("%Y-%m-%d %H:%M:%S"))
-
-        if with_lexical_units:
-            filteredData = []
-            for entry in result['data']:
-                lexicalUnits = entry['lexical_units']
-                filteredLexicalUnits = []
-                for lexicalUnit in lexicalUnits:
-                    if (exclude_status is None or lexicalUnit['status'] != exclude_status) and \
-                            (restrict_to_user is None or lexicalUnit['assignee_username'] == restrict_to_user) and \
-                                (has_unified_frame != 'true' or lexicalUnit['unified_frame_id'] != -1):
-                        filteredLexicalUnits.append(lexicalUnit)
-                entry['lexical_units'] = filteredLexicalUnits
-                if len(filteredLexicalUnits) > 0:
-                    filteredData.append(entry)
-
-            result['data'] = filteredData[first_index:last_index]
-
-        now = datetime.datetime.now()
-        print("3 Current date and time : ")
-        print(now.strftime("%Y-%m-%d %H:%M:%S"))
-
         return JsonResponse(result)
     return JsonResponse({})