diff --git a/ee/spec/frontend/compliance_dashboard/components/frameworks_report/frameworks_table_spec.js b/ee/spec/frontend/compliance_dashboard/components/frameworks_report/frameworks_table_spec.js
index 50259d2019eadd1d9d574410a073b957fbfba0eb..55d9d767d646336199f69e948c0bd285d30934f9 100644
--- a/ee/spec/frontend/compliance_dashboard/components/frameworks_report/frameworks_table_spec.js
+++ b/ee/spec/frontend/compliance_dashboard/components/frameworks_report/frameworks_table_spec.js
@@ -23,7 +23,7 @@ describe('FrameworksTable component', () => {
   const GlModalStub = stubComponent(GlModal, { methods: { show: jest.fn(), hide: jest.fn() } });
 
   const findTable = () => wrapper.findComponent(GlTable);
-  const findTableHeaders = () => findTable().findAll('th > div');
+  const findTableHeaders = () => findTable().findAll('th > div > span');
   const findTableRow = (idx) => findTable().findAll('tbody > tr').at(idx);
   const findTableRowData = (idx) => findTableRow(idx).findAll('td');
   const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
diff --git a/ee/spec/frontend/compliance_dashboard/components/projects_report/projects_table_spec.js b/ee/spec/frontend/compliance_dashboard/components/projects_report/projects_table_spec.js
index 98b48def88677c244341a3aedbe5734dc4dc8e33..27fae5df7d2785f3c4b8aa9f3fd0c9bf4284a61d 100644
--- a/ee/spec/frontend/compliance_dashboard/components/projects_report/projects_table_spec.js
+++ b/ee/spec/frontend/compliance_dashboard/components/projects_report/projects_table_spec.js
@@ -40,7 +40,7 @@ describe('ProjectsTable component', () => {
   const ROW_WITHOUT_FRAMEWORK_IDX = 1;
 
   const findTable = () => wrapper.findComponent(GlTable);
-  const findTableHeaders = () => findTable().findAll('th > div');
+  const findTableHeaders = () => findTable().findAll('th > div > span');
   const findTableRowData = (idx) => findTable().findAll('tbody > tr').at(idx).findAll('td');
   const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon);
   const findEmptyState = () => wrapper.findByTestId('projects-table-empty-state');
@@ -51,7 +51,8 @@ describe('ProjectsTable component', () => {
   const findCreateModal = () => findModalByModalId('create-framework-form-modal');
   const findEditModal = () => findModalByModalId('edit-framework-form-modal');
 
-  const findSelectAllCheckbox = () => findTableHeaders().at(0).findComponent(GlFormCheckbox);
+  const findSelectAllCheckbox = () =>
+    findTable().findAll('th > div').at(0).findComponent(GlFormCheckbox);
   const findSelectedRows = () => findTable().findAll('.b-table-row-selected');
 
   const isIndeterminate = (glFormCheckbox) => glFormCheckbox.vm.$attrs.indeterminate;
@@ -113,12 +114,7 @@ describe('ProjectsTable component', () => {
       wrapper = createComponent({ projects: [], isLoading: false });
       const headerTexts = findTableHeaders().wrappers.map((h) => h.text());
 
-      expect(headerTexts).toStrictEqual([
-        '',
-        'Project name',
-        'Project path',
-        'Compliance framework',
-      ]);
+      expect(headerTexts).toStrictEqual(['Project name', 'Project path', 'Compliance framework']);
     });
   });
 
diff --git a/ee/spec/frontend/compliance_dashboard/components/violations_report/report_spec.js b/ee/spec/frontend/compliance_dashboard/components/violations_report/report_spec.js
index ab0a332264cd678da5d149f476afe12558aa1f8d..2aaec767feba8ddc3548e694e756b1d47e0b9d5b 100644
--- a/ee/spec/frontend/compliance_dashboard/components/violations_report/report_spec.js
+++ b/ee/spec/frontend/compliance_dashboard/components/violations_report/report_spec.js
@@ -59,7 +59,7 @@ describe('ComplianceViolationsReport component', () => {
   const findViolationFilter = () => wrapper.findComponent(ViolationFilter);
   const findUrlSync = () => wrapper.findComponent(UrlSync);
 
-  const findTableHeaders = () => findViolationsTable().findAll('th > div');
+  const findTableHeaders = () => findViolationsTable().findAll('th > div > span');
   const findTableRowData = (idx) =>
     findViolationsTable().findAll('tbody > tr').at(idx).findAll('td');
   const findSelectedRows = () => findViolationsTable().findAll('tr.b-table-row-selected');
diff --git a/ee/spec/frontend/security_configuration/corpus_management/__snapshots__/corpus_table_spec.js.snap b/ee/spec/frontend/security_configuration/corpus_management/__snapshots__/corpus_table_spec.js.snap
index dfdefa00a1ccd6ef54262c0c55877c3d327acd17..00c015166d32d030dbd90cdcc520e4465199a3fb 100644
--- a/ee/spec/frontend/security_configuration/corpus_management/__snapshots__/corpus_table_spec.js.snap
+++ b/ee/spec/frontend/security_configuration/corpus_management/__snapshots__/corpus_table_spec.js.snap
@@ -11,9 +11,11 @@ exports[`Corpus table corpus management renders with the correct columns 1`] = `
     scope="col"
   >
     <div
-      class="gl-align-items-center gl-display-flex"
+      class="gl-display-flex"
     >
-      Corpus name
+      <span>
+        Corpus name
+      </span>
     </div>
   </th>
   <th
@@ -23,9 +25,11 @@ exports[`Corpus table corpus management renders with the correct columns 1`] = `
     scope="col"
   >
     <div
-      class="gl-align-items-center gl-display-flex"
+      class="gl-display-flex"
     >
-      Target
+      <span>
+        Target
+      </span>
     </div>
   </th>
   <th
@@ -35,9 +39,11 @@ exports[`Corpus table corpus management renders with the correct columns 1`] = `
     scope="col"
   >
     <div
-      class="gl-align-items-center gl-display-flex"
+      class="gl-display-flex"
     >
-      Last updated
+      <span>
+        Last updated
+      </span>
     </div>
   </th>
   <th
@@ -47,9 +53,11 @@ exports[`Corpus table corpus management renders with the correct columns 1`] = `
     scope="col"
   >
     <div
-      class="gl-align-items-center gl-display-flex"
+      class="gl-display-flex"
     >
-      Last used
+      <span>
+        Last used
+      </span>
     </div>
   </th>
   <th
@@ -59,9 +67,11 @@ exports[`Corpus table corpus management renders with the correct columns 1`] = `
     scope="col"
   >
     <div
-      class="gl-align-items-center gl-display-flex"
+      class="gl-display-flex"
     >
-      Actions
+      <span>
+        Actions
+      </span>
     </div>
   </th>
 </tr>
diff --git a/package.json b/package.json
index c7cb3343cab3250e52ac3b6624a20a6bce93d3fc..cf465cf008b6ccfa62e0f8a468661a315e8f97e8 100644
--- a/package.json
+++ b/package.json
@@ -60,7 +60,7 @@
     "@gitlab/favicon-overlay": "2.0.0",
     "@gitlab/fonts": "^1.3.0",
     "@gitlab/svgs": "3.91.0",
-    "@gitlab/ui": "78.1.1",
+    "@gitlab/ui": "78.2.2",
     "@gitlab/visual-review-tools": "1.7.3",
     "@gitlab/web-ide": "^0.0.1-dev-20240226152102",
     "@mattiasbuelens/web-streams-adapter": "^0.1.0",
diff --git a/spec/frontend/access_tokens/components/access_token_table_app_spec.js b/spec/frontend/access_tokens/components/access_token_table_app_spec.js
index fcf1de6d447e87573d28d1b6758e59670cb67e29..09b269bbcdd62dfcf385241e67f4f8acd6901b60 100644
--- a/spec/frontend/access_tokens/components/access_token_table_app_spec.js
+++ b/spec/frontend/access_tokens/components/access_token_table_app_spec.js
@@ -64,7 +64,7 @@ describe('~/access_tokens/components/access_token_table_app', () => {
   };
 
   const findTable = () => wrapper.findComponent(GlTable);
-  const findHeaders = () => findTable().findAll('th > :first-child');
+  const findHeaders = () => findTable().findAll('th > div > span');
   const findCells = () => findTable().findAll('td');
   const findPagination = () => wrapper.findComponent(GlPagination);
 
@@ -100,7 +100,7 @@ describe('~/access_tokens/components/access_token_table_app', () => {
         __('Token name'),
         __('Scopes'),
         s__('AccessTokens|Created'),
-        'Last Used The last time a token was used',
+        'Last Used',
         __('Expires'),
         __('Action'),
       ]);
@@ -114,7 +114,7 @@ describe('~/access_tokens/components/access_token_table_app', () => {
         __('Token name'),
         __('Scopes'),
         s__('AccessTokens|Created'),
-        'Last Used The last time a token was used',
+        'Last Used',
         __('Expires'),
         __('Role'),
         __('Action'),
@@ -192,7 +192,7 @@ describe('~/access_tokens/components/access_token_table_app', () => {
           __('Token name'),
           __('Scopes'),
           s__('AccessTokens|Created'),
-          'Last Used The last time a token was used',
+          'Last Used',
           __('Expires'),
           __('Role'),
         ].forEach((text, index) => {
diff --git a/spec/frontend/ci/ci_variable_list/components/ci_variable_table_spec.js b/spec/frontend/ci/ci_variable_list/components/ci_variable_table_spec.js
index 661967773b8e8bac0c4df75d72f63a26f6ab8e12..84d5755389514c6c9ac46a436fc2aa428fb65213 100644
--- a/spec/frontend/ci/ci_variable_list/components/ci_variable_table_spec.js
+++ b/spec/frontend/ci/ci_variable_list/components/ci_variable_table_spec.js
@@ -46,7 +46,7 @@ describe('Ci variable table', () => {
     wrapper.findAllByTestId('ci-variable-table-row-attributes').at(rowIndex);
   const findAttributeByIndex = (rowIndex, attributeIndex) =>
     findAttributesRow(rowIndex).findAllComponents(GlBadge).at(attributeIndex).text();
-  const findTableColumnText = (index) => wrapper.findAll('th > div').at(index).text();
+  const findTableColumnText = (index) => wrapper.findAll('th > div > span').at(index).text();
   const findVariableRow = (rowIndex) =>
     wrapper.findAllByTestId('ci-variable-table-row-variable').at(rowIndex);
   const findGroupCiCdSettingsLink = (rowIndex) =>
diff --git a/yarn.lock b/yarn.lock
index c09eecd6e53f16ffea61dfdf020060a874d86f4e..db5d46277926de21ad0b8a5cc4d103c374d7d7fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1326,10 +1326,10 @@
   resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-3.91.0.tgz#e99bc5467318cc8c156e02c574f5e65941b767f0"
   integrity sha512-ozINZKyUlu5UQlP++9SntWQDqsgDSYawTPw+qhKQTdyn4Ut2NMsvSFyR5J2pax5IWu+SpLrn3WuPgNybK+4LqQ==
 
-"@gitlab/ui@78.1.1":
-  version "78.1.1"
-  resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-78.1.1.tgz#9c5c71adf60f6107b6475b235aeb17a3239a87d0"
-  integrity sha512-mzF0rQ0cpMdI5Ktz5WdJ6XoHN/fHixvkdwcC5OLHeCE5Vxmt2ZagdCJXIwD4FBxIOwdaqYEaaB1jeTLI+EhOrw==
+"@gitlab/ui@78.2.2":
+  version "78.2.2"
+  resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-78.2.2.tgz#d73ab29395cebecfb20373c629505c15ee70b902"
+  integrity sha512-/AOC6KapClaARUuuzkn2xxYJzIGmgIHK/epXdhWcYLsRManhkyD3NC5pSdV3TFFUcJR+Q/APDePA4Q64gxenYw==
   dependencies:
     "@floating-ui/dom" "1.4.3"
     bootstrap-vue "2.23.1"