diff --git a/ee/app/assets/javascripts/security_dashboard/components/shared/vulnerability_report/vulnerability_list.vue b/ee/app/assets/javascripts/security_dashboard/components/shared/vulnerability_report/vulnerability_list.vue
index 561a6759770bc21412aeefc13774f99501d0bbba..6d1632ed4872cc03174f3804acd1de9498407b1f 100644
--- a/ee/app/assets/javascripts/security_dashboard/components/shared/vulnerability_report/vulnerability_list.vue
+++ b/ee/app/assets/javascripts/security_dashboard/components/shared/vulnerability_report/vulnerability_list.vue
@@ -212,6 +212,9 @@ export default {
       const fieldName = convertToSnakeCase(context.sortBy);
       const direction = context.sortDesc ? 'desc' : 'asc';
 
+      if (!fieldName) {
+        return;
+      }
       this.$emit('sort-changed', `${fieldName}_${direction}`);
     },
     getVulnerabilityState(state = '') {
diff --git a/ee/spec/frontend/security_dashboard/components/shared/vulnerability_report/vulnerability_list_spec.js b/ee/spec/frontend/security_dashboard/components/shared/vulnerability_report/vulnerability_list_spec.js
index d2192e1525edade31b3cf983899443f4ddf2571e..53509375592fbea476f121c84ba1239f01273369 100644
--- a/ee/spec/frontend/security_dashboard/components/shared/vulnerability_report/vulnerability_list_spec.js
+++ b/ee/spec/frontend/security_dashboard/components/shared/vulnerability_report/vulnerability_list_spec.js
@@ -534,6 +534,13 @@ describe('Vulnerability list component', () => {
   });
 
   describe('sort-changed listener', () => {
+    it('does not emit when sort by data is empty', () => {
+      createWrapper();
+
+      findTable().vm.$emit('sort-changed', { sortBy: '', sortDesc: true });
+      expect(wrapper.emitted('sort-changed')).toBe(undefined);
+    });
+
     it('emits sort by data in expected format', () => {
       createWrapper();