diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index d10953179a372f3d4e8ea458f3e05648a27c2d73..ab7847e11f9c374f53f74e4e5090853d9b2fd532 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -1508,8 +1508,8 @@ void cterm_end(void)
 			listPushNode(&notes, NULL);
 			sem_wait(&playnote_thread_terminated);
 		}
+		sem_destroy(&playnote_thread_terminated);
+		sem_destroy(&note_completed_sem);
+		listFree(&notes);
 	}
-	sem_destroy(&playnote_thread_terminated);
-	sem_destroy(&note_completed_sem);
-	listFree(&notes);
 }