diff --git a/src/components/GradesBottomModal.svelte b/src/components/GradesBottomModal.svelte
index f51443c727e61f22294b6478dd8af5e12e564c00..90f1588e83cdc3b9a4daee700e127ea5049142db 100644
--- a/src/components/GradesBottomModal.svelte
+++ b/src/components/GradesBottomModal.svelte
@@ -41,37 +41,38 @@
             </select>
             <i>arrow_drop_down</i>
         </div>
-
-        {#if loadingProgress}
-            <progress></progress>
-        {:else if semesterProgress}
-            <div transition:slide>
-                <h6>{$_('gradesBottomSheet.semesterProgress', {default: 'Semester Progress'})}</h6>
-                <div class="grid">
-                    {#each semesterProgress as entry}
-                        <article class="s12 m6 l3">
-                            <nav class="top-align">
-                                <h6 class="max">{entry.subjectName}</h6>
-                                <h6 class="primary-text">{entry.totalBalls}</h6>
-                            </nav>
-                            <nav class="wrap">
-                                {#each entry.atts as att}
-                                    <a class="chip fill">
-                                        <span class="primary-text">{$_('gradesBottomSheet.attestation', {default: 'Attestation'})} {att.numAttestation}</span>
-                                        <span>{att.attBall} ({att.minBall} - {att.maxBall})</span>
-                                        {#if att.minBall > att.attBall}
-                                            <MIcon class="error-text">error</MIcon>
-                                        {:else}
-                                            <MIcon class="green-text">done</MIcon>
-                                        {/if}
-                                    </a>
-                                {/each}
-                            </nav>
-                        </article>
-                    {/each}
+        {#key selectedSemester}
+            {#if loadingProgress}
+                <progress></progress>
+            {:else if semesterProgress}
+                <div transition:slide>
+                    <h6>{$_('gradesBottomSheet.semesterProgress', {default: 'Semester Progress'})}</h6>
+                    <div class="grid">
+                        {#each semesterProgress as entry}
+                            <article class="s12 m6 l3">
+                                <nav class="top-align">
+                                    <h6 class="max">{entry.subjectName}</h6>
+                                    <h6 class="primary-text">{entry.totalBalls}</h6>
+                                </nav>
+                                <nav class="wrap">
+                                    {#each entry.atts as att}
+                                        <a class="chip fill">
+                                            <span class="primary-text">{$_('gradesBottomSheet.attestation', {default: 'Attestation'})} {att.numAttestation}</span>
+                                            <span>{att.attBall} ({att.minBall} - {att.maxBall})</span>
+                                            {#if att.minBall > att.attBall}
+                                                <MIcon class="error-text">error</MIcon>
+                                            {:else}
+                                                <MIcon class="green-text">done</MIcon>
+                                            {/if}
+                                        </a>
+                                    {/each}
+                                </nav>
+                            </article>
+                        {/each}
+                    </div>
                 </div>
-            </div>
-        {/if}
+            {/if}
+        {/key}
     {:catch error}
         <div class="row">
             <MIcon class="orange-text">warning</MIcon>