diff --git a/build.sh b/build.sh
index 07948f83a649a25e4b0800f45f7b9f2a360820a0..d07740e633d341c0e01b77dbf7ffaef52e516e6a 100755
--- a/build.sh
+++ b/build.sh
@@ -306,6 +306,10 @@ prepare_win32_environment()
 
 build_generic_win32()
 {
+	echo "Patching SDL..." | tee -a $LOGFILE
+	cd $ROOT/3rdparty/sdl/src/video/wincommon || failure
+	# patch: amend window class name (required by BOINC v6 screensaver!)
+	patch < $ROOT/patches/SDL_sysevents.c.patch >> $LOGFILE 2>&1 || failure
 	echo "Building SDL (this may take a while)..." | tee -a $LOGFILE
 	cd $ROOT/3rdparty/sdl || failure
 	chmod +x autogen.sh >> $LOGFILE 2>&1 || failure
diff --git a/patches/SDL_sysevents.c.patch b/patches/SDL_sysevents.c.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3840748d99cfea135a0835f07db15c45ac4f8737
--- /dev/null
+++ b/patches/SDL_sysevents.c.patch
@@ -0,0 +1,11 @@
+--- SDL_sysevents.c	2009-04-17 17:18:07.000000000 +0200
++++ SDL_sysevents.c.new	2009-04-17 17:14:41.000000000 +0200
+@@ -799,7 +799,7 @@
+ #define CS_BYTEALIGNCLIENT	0
+ #endif
+ 	if ( ! name && ! SDL_Appname ) {
+-		name = "SDL_app";
++		name = "BOINC_app";
+ 		SDL_Appstyle = CS_BYTEALIGNCLIENT;
+ 		SDL_Instance = hInst ? hInst : SDL_GetModuleHandle();
+ 	}