diff --git a/polymer/eduke32/build/src/winlayer.c b/polymer/eduke32/build/src/winlayer.c
index 6dad6a142..ecd9e7439 100644
--- a/polymer/eduke32/build/src/winlayer.c
+++ b/polymer/eduke32/build/src/winlayer.c
@@ -256,10 +256,7 @@ int32_t wm_ynbox(char *name, char *fmt, ...)
 void wm_setapptitle(char *name)
 {
     if (name)
-    {
-        Bstrncpy(apptitle, name, sizeof(apptitle)-1);
-        apptitle[ sizeof(apptitle)-1 ] = 0;
-    }
+        Bstrncpyz(apptitle, name, sizeof(apptitle));
 
     if (hWindow) SetWindowText(hWindow, apptitle);
     startwin_settitle(apptitle);
diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c
index adef46e5c..5a0d9ba92 100644
--- a/polymer/eduke32/source/game.c
+++ b/polymer/eduke32/source/game.c
@@ -11142,9 +11142,8 @@ int32_t app_main(int32_t argc, const char **argv)
         GetTime,
         GAME_onshowosd
     );
-    Bstrcpy(tempbuf, APPNAME);
-    wm_setapptitle(tempbuf);
-//initprintf("sizeof(mapstate_t)=%d\n", (int32_t)sizeof(mapstate_t));
+
+    wm_setapptitle(APPNAME);
 
     initprintf(HEAD2 " %s %s\n", s_buildRev,
 #ifdef __cplusplus
diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c
index c81e9ce51..166c402ad 100644
--- a/polymer/eduke32/source/gamedef.c
+++ b/polymer/eduke32/source/gamedef.c
@@ -2461,6 +2461,7 @@ LUNATIC_EXTERN void C_SetCfgName(const char *cfgname)
 {
     char temp[BMAX_PATH];
     struct Bstat st;
+
     int32_t fullscreen = ud.config.ScreenMode;
     int32_t xdim = ud.config.ScreenWidth, ydim = ud.config.ScreenHeight, bpp = ud.config.ScreenBPP;
     int32_t usemouse = ud.config.UseMouse, usejoy = ud.config.UseJoystick;
@@ -2494,15 +2495,16 @@ LUNATIC_EXTERN void C_SetCfgName(const char *cfgname)
         return;
     }
 
-    // XXX
-    Bstrcpy(temp, cfgname);
+    // XXX: Back up 'cfgname' as it may be the global 'tempbuf'.
+    Bstrncpyz(temp, cfgname, sizeof(temp));
     CONFIG_WriteSetup(1);
-    if (g_modDir[0] != '/')
-        Bsprintf(setupfilename,"%s/",g_modDir);
-    else setupfilename[0] = 0;
-    Bstrcat(setupfilename,temp);
 
-    initprintf("Using config file \"%s\".\n",setupfilename);
+    if (g_modDir[0] != '/')
+        Bsnprintf(setupfilename, sizeof(setupfilename), "%s/%s", g_modDir, temp);
+    else
+        Bstrncpyz(setupfilename, temp, sizeof(setupfilename));
+
+    initprintf("Using config file \"%s\".\n", setupfilename);
 
     CONFIG_ReadSetup();