diff --git a/sveltejs/public/build/bundle.js b/sveltejs/public/build/bundle.js
index cecd5d94d1a117891778ff9a5cfcbc6634c4108f..6af82f77ce69a6f9fc2858cf348000869371da8f 100644
Binary files a/sveltejs/public/build/bundle.js and b/sveltejs/public/build/bundle.js differ
diff --git a/sveltejs/public/build/bundle.js.map b/sveltejs/public/build/bundle.js.map
index a012e1af66e538537ad02c48022de757983f9f89..884c12113d3c1018ac865a155f7cc3f08e8f14f4 100644
Binary files a/sveltejs/public/build/bundle.js.map and b/sveltejs/public/build/bundle.js.map differ
diff --git a/sveltejs/src/InstallListProcessor.js b/sveltejs/src/InstallListProcessor.js
index 67025be165cf151ca9e1ccab804c04f2a5947e17..3a8cc026c25da209fc699b6c0e1ad1f011b88a1c 100644
--- a/sveltejs/src/InstallListProcessor.js
+++ b/sveltejs/src/InstallListProcessor.js
@@ -4,8 +4,6 @@ import { BASE_URL, CURRENT_PATH } from './constants';
 
 const { Drupal } = window;
 
-export const updated = writable(0);
-
 // Store for the install list.
 export const installList = writable([]);
 
diff --git a/sveltejs/src/ProcessInstallListButton.svelte b/sveltejs/src/ProcessInstallListButton.svelte
index 74b85d3ec354ac4c9750cc2cecca7326cfe3cdc6..c0c7564815ca70ff3b871a0144e90fd40764c81a 100644
--- a/sveltejs/src/ProcessInstallListButton.svelte
+++ b/sveltejs/src/ProcessInstallListButton.svelte
@@ -2,7 +2,6 @@
   import {
     processInstallList,
     installList,
-    updated,
     clearInstallList,
   } from './InstallListProcessor';
   import Loading from './Loading.svelte';
@@ -23,15 +22,12 @@
     loading = true;
     await processInstallList();
     loading = false;
-    $updated = new Date().getTime();
   };
 
   function clearSelection() {
     projectsToDownloadAndActivate = [];
     projectsToActivate = [];
     clearInstallList();
-
-    $updated = new Date().getTime();
   }
   $: {
     // @see css/pb.css
diff --git a/sveltejs/src/Project/ActionButton.svelte b/sveltejs/src/Project/ActionButton.svelte
index 26c5b4c34ae23cb0aa4ddcd36cb75b3c57e5de64..01f7429a56b605126b2ba50ebda983e69d2f4d16 100644
--- a/sveltejs/src/Project/ActionButton.svelte
+++ b/sveltejs/src/Project/ActionButton.svelte
@@ -10,7 +10,6 @@
     addToInstallList,
     installList,
     removeFromInstallList,
-    updated,
   } from '../InstallListProcessor';
 
   // eslint-disable-next-line import/no-mutable-exports,import/prefer-default-export
@@ -22,18 +21,14 @@
   $: isInInstallList = $installList.some((item) => item.id === project.id);
 
   // If MAX_SELECTIONS is null (no limit), then the install list is never full.
-  const InstallListFull = $installList.length === MAX_SELECTIONS;
-
-  let loading = false;
+  $: InstallListFull = $installList.length === MAX_SELECTIONS;
 
   function handleAddToInstallListClick(singleProject) {
     addToInstallList(singleProject);
-    $updated = new Date().getTime();
   }
 
   function handleRemoveFromInstallList(projectId) {
     removeFromInstallList(projectId);
-    $updated = new Date().getTime();
   }
 
   const onClick = async () => {
@@ -45,10 +40,7 @@
       }
     } else {
       handleAddToInstallListClick(project);
-      loading = true;
       await processInstallList();
-      loading = false;
-      $updated = new Date().getTime();
     }
   };
 </script>
diff --git a/sveltejs/src/ProjectBrowser.svelte b/sveltejs/src/ProjectBrowser.svelte
index d126cd6d1985e9dc93b719ab5050e71a4c42eb4d..3a0ccc9d335e0aeae1c5b66173bdea330e52416d 100644
--- a/sveltejs/src/ProjectBrowser.svelte
+++ b/sveltejs/src/ProjectBrowser.svelte
@@ -6,7 +6,7 @@
   import Pagination from './Pagination.svelte';
   import Project from './Project/Project.svelte';
   import { numberFormatter } from './util';
-  import { updated, installList } from './InstallListProcessor';
+  import { installList } from './InstallListProcessor';
   import MediaQuery from './MediaQuery.svelte';
   import { FULL_MODULE_PATH, MAX_SELECTIONS } from './constants';
   import QueryManager from './QueryManager';
@@ -247,11 +247,9 @@
         {/if}
       </div>
     </div>
-    {#key $updated}
-      {#each rows as row (row.id)}
-        <Project {toggleView} project={row} />
-      {/each}
-    {/key}
+    {#each rows as row (row.id)}
+      <Project {toggleView} project={row} />
+    {/each}
     <div slot="bottom">
       <Pagination
         page={$page}
diff --git a/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php b/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php
index f5afc262a60a8d2d2aa0d32e1458d3bc3d710415..cf5fc99e2afe776c38d40571da883ac9961873d5 100644
--- a/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php
+++ b/tests/src/FunctionalJavascript/ProjectBrowserInstallerUiTest.php
@@ -267,20 +267,21 @@ class ProjectBrowserInstallerUiTest extends WebDriverTestBase {
 
     $cream_cheese = $this->waitForProject('Cream cheese on a bagel');
     $cream_cheese->pressButton('Select Cream cheese on a bagel');
-    $was_selected = $cream_cheese->waitFor(10, fn ($card) => $card->hasButton('Deselect Cream cheese on a bagel'));
-    $this->assertTrue($was_selected);
+    $this->assertTrue(
+      $cream_cheese->waitFor(10, fn ($card) => $card->hasButton('Deselect Cream cheese on a bagel'))
+    );
 
-    $dancing_queen_button = $page->find('css', '#project-browser .pb-layout__main ul > li:nth-child(3) button');
+    $dancing_queen_button = $this->waitForProject('Dancing Queen')
+      ->findButton('Select');
     $this->assertFalse($dancing_queen_button?->hasAttribute('disabled'));
 
     $this->assertNotEmpty($assert_session->waitForButton('Install selected projects'));
 
     $kangaroo = $this->waitForProject('Kangaroo');
     $kangaroo->pressButton('Select Kangaroo');
-    $was_deselected = $kangaroo->waitFor(10, fn ($card) => $card->hasButton('Deselect Kangaroo'));
-    $this->assertTrue($was_deselected);
+    $this->assertTrue($kangaroo->waitFor(10, fn ($card) => $card->hasButton('Deselect Kangaroo')));
     // Select button gets disabled on reaching maximum limit.
-    $assert_session->elementAttributeExists('css', '#project-browser .pb-layout__main ul > li:nth-child(3) button.pb__action_button', 'disabled');
+    $this->assertTrue($dancing_queen_button->hasAttribute('disabled'));
 
     $this->assertNotEmpty($assert_session->waitForButton('Install selected projects'));
     $page->pressButton('Install selected projects');