diff --git a/src/Backends/Platform/SDL2.cpp b/src/Backends/Platform/SDL2.cpp
index 268f28f3..d707c3af 100644
--- a/src/Backends/Platform/SDL2.cpp
+++ b/src/Backends/Platform/SDL2.cpp
@@ -165,13 +165,14 @@ void PlaybackBackend_EnableDragAndDrop(void)
 
 bool Backend_SystemTask(bool active)
 {
-	while (SDL_PollEvent(NULL))
-	{
-		SDL_Event event;
-
-		if (!SDL_WaitEvent(&event))
+	if (!active)
+		if (!SDL_WaitEvent(NULL))
 			return false;
 
+	SDL_Event event;
+
+	while (SDL_PollEvent(&event))
+	{
 		switch (event.type)
 		{
 			case SDL_KEYUP: