diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index f94da77609fab256382b4b606baafb588e488dc6..76e4db84f888a1506e34478d1e52481de8a1b52a 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -71,8 +71,8 @@ def set_show_full_reference
   end
 
   def check_filters_presence!
-    no_scalar_filters_set = finder_type.scalar_params.none? { |k| params.key?(k) }
-    no_array_filters_set = finder_type.array_params.none? { |k, _| params.key?(k) }
+    no_scalar_filters_set = finder_type.scalar_params.none? { |k| params[k].present? }
+    no_array_filters_set = finder_type.array_params.none? { |k, _| params[k].present? }
 
     @no_filters_set = no_scalar_filters_set && no_array_filters_set
 
diff --git a/spec/controllers/dashboard_controller_spec.rb b/spec/controllers/dashboard_controller_spec.rb
index dbeac9fd240807e8c513027c9002178b7606e442..2a34ac9f923aa43ed6da42a296bfbc6556b74765 100644
--- a/spec/controllers/dashboard_controller_spec.rb
+++ b/spec/controllers/dashboard_controller_spec.rb
@@ -98,8 +98,18 @@
     context "no filters" do
       let(:params) { {} }
 
-      it 'sets @no_filters_set to false' do
-        expect(assigns[:no_filters_set]).to eq(true)
+      shared_examples_for 'no filters are set' do
+        it 'sets @no_filters_set to true' do
+          expect(assigns[:no_filters_set]).to eq(true)
+        end
+      end
+
+      it_behaves_like 'no filters are set'
+
+      context 'when key is present but value is not' do
+        let(:params) { { author_username: nil } }
+
+        it_behaves_like 'no filters are set'
       end
     end