diff --git a/src/g_game.c b/src/g_game.c
index f891b010591cccd4d5b23188d32902a84751956e..84db90132b0b1dafebaf77b8f48411eaec2b0534 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -5579,7 +5579,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;