diff --git a/arkindex/documents/api/search.py b/arkindex/documents/api/search.py
index 202f752830ec010875a718e5caf6d876adbb4b70..436536e2a9c300ef145e3c1abf60666b3ffe6e6d 100644
--- a/arkindex/documents/api/search.py
+++ b/arkindex/documents/api/search.py
@@ -31,7 +31,6 @@ class ElementSearch(SearchAPIView):
                    query=None,
                    element_type=None,
                    transcription_type=None,
-                   reference=None,
                    date_lt=None,
                    date_gte=None,
                    min_score=0.0):
@@ -53,22 +52,16 @@ class ElementSearch(SearchAPIView):
 
             search = search.filter('range', date_range=date_range)
 
-        if reference:
-            search = search.filter(
-                'wildcard',
-                references='*{}*'.format(reference.lower())
-            )
-
         if element_type:
             search = search.filter('match', type=element_type)
 
         nested_query = Q('range', transcriptions__score={'gte': min_score})
-        if query:
-            nested_query &= Q('simple_query_string', query=query, fields=['transcriptions.text'])
         if transcription_type:
             nested_query &= Q('match', transcriptions__type=transcription_type.value)
+        if query:
+            nested_query &= Q('simple_query_string', query=query, fields=['transcriptions.text'])
 
-        search = search.query(Nested(
+        elastic_query = Nested(
             path='transcriptions',
             inner_hits={'size': settings.ES_INNER_RESULTS_LIMIT},
             score_mode='sum',
@@ -76,8 +69,11 @@ class ElementSearch(SearchAPIView):
                 query=nested_query,
                 functions=[FieldValueFactor(field='transcriptions.score')],
             ),
-        ))
+        )
+        if query:
+            elastic_query |= Q('wildcard', references='*{}*'.format(query.lower()))
 
+        search = search.query(elastic_query)
         return search
 
     def post_process(self, *args, **kwargs):
diff --git a/arkindex/documents/serializers/search.py b/arkindex/documents/serializers/search.py
index 08f9def6ce8a43e53d7c8aaeef52d93e6dc64f53..e49aa1768f088ee0fd05778be5f5340c0e2c704b 100644
--- a/arkindex/documents/serializers/search.py
+++ b/arkindex/documents/serializers/search.py
@@ -20,7 +20,6 @@ class SearchQuerySerializer(serializers.Serializer):
     score = serializers.FloatField(source='min_score', min_value=0.0, max_value=1.0, default=0.0)
     date_gte = serializers.CharField(default=None)
     date_lte = serializers.CharField(source='date_lt', default=None)
-    reference = serializers.CharField(default=None)
     element_type = serializers.SlugField(default=None)
     transcription_type = EnumField(enum=TranscriptionType, default=None)
     corpus = serializers.UUIDField(source='corpus_id', default=None)