diff --git a/ChangeLog b/ChangeLog
index c7da8e00307bc20a3cd19e931a93bf5d9bae31b6..4869071d232589797ba26157b91301254ea0761c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -149,6 +149,9 @@ CVS code -
 	- Call setlocale() outside the ENABLE_NLS #ifdef, since UTF-8
 	  support won't work properly if the locale isn't set, whether
 	  NLS is enabled or not. (Junichi Uekawa)
+	- Add titlebar() calls before all open_file() calls and remove 
+	  the titlebar() call after them, so that the titlebar is 
+	  displayed properly for all file(s) loaded. (DLR)
 - nano.h:
 	- Reassign the key for full justification to Ctrl-U, for
 	  compatibility with the current version of Pico. (DLR)
diff --git a/src/nano.c b/src/nano.c
index 7834c7b676cf848a3b402d5b62a950bfd19877d5..2d02fa0fd7598a1a7aa42d6099bdee7acbb0d667 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -3472,18 +3472,20 @@ int main(int argc, char *argv[])
     fprintf(stderr, "Main: open file\n");
 #endif
 
+    titlebar(NULL);
     open_file(filename, FALSE, FALSE);
 #ifdef ENABLE_MULTIBUFFER
     /* If we're using multibuffers and more than one file is specified
        on the command line, load them all and switch to the first one
        afterward */
     if (optind + 1 < argc) {
-	int old_multibuffer = ISSET(MULTIBUFFER);
+	bool old_multibuffer = ISSET(MULTIBUFFER);
 	SET(MULTIBUFFER);
 	for (optind++; optind < argc; optind++) {
 	    add_open_file(TRUE);
 	    new_file();
 	    filename = mallocstrcpy(filename, argv[optind]);
+	    titlebar(NULL);
 	    open_file(filename, FALSE, FALSE);
 	    load_file(FALSE);
 	}
@@ -3493,8 +3495,6 @@ int main(int argc, char *argv[])
     }
 #endif
 
-    titlebar(NULL);
-
     if (startline > 0)
 	do_gotoline(startline, FALSE);