diff --git a/src/g_game.c b/src/g_game.c
index 2f60b79c3a888fa54198665c3519f86e1f17885c..5e45921b77f4b069a1b1e93373ea60242919e77c 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -5621,7 +5621,7 @@ boolean G_CheckDemoStatus(void)
 		WRITEUINT8(demo_p, DEMOMARKER); // add the demo end marker
 		md5_buffer((char *)p+16, demo_p - (p+16), p); // make a checksum of everything after the checksum in the file.
 #endif
-		saved = FIL_WriteFile(demoname, demobuffer, demo_p - demobuffer); // finally output the file.
+		saved = FIL_WriteFile(va(pandf, srb2home, demoname), demobuffer, demo_p - demobuffer); // finally output the file.
 		free(demobuffer);
 		demorecording = false;