diff --git a/ChangeLog b/ChangeLog
index 7d9990ec17d0ed6d31fa8bfe9cd3ec73291b454c..55437d7ff5a56754aa9fc343c385203ff0468b5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -214,7 +214,9 @@ CVS code -
 	- Use napms() instead of nanosleep(), as it does the same thing
 	  (aside from taking an argument in milliseconds instead of
 	  microseconds) and curses includes it. (DLR)
-	- Overhaul for efficiency. (David Benbennick)
+	- Overhaul for efficiency, and make sure the xlcredits
+	  translations are done after initialization in order to avoid
+	  an error when compiling with -pedantic. (David Benbennick)
 - configure.ac:
 	- Add tests for isblank() and strcasestr(), and define
 	  _GNU_SOURCE so that the tests work properly.  Increase the
diff --git a/src/winio.c b/src/winio.c
index 5fffd4df443c243d9f5925405b8d47f59ec97af1..d6e0bbaee974fef1f71f2c0835a014b8073afd0b 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2750,14 +2750,14 @@ void do_credits(void)
     };
 
     const char *xlcredits[XLCREDIT_LEN] = {
-	_("The nano text editor"),
-	_("version"),
-	_("Brought to you by:"),
-	_("Special thanks to:"),
-	_("The Free Software Foundation"),
-	_("For ncurses:"),
-	_("and anyone else we forgot..."),
-	_("Thank you for using nano!")
+	"The nano text editor",
+	"version",
+	"Brought to you by:",
+	"Special thanks to:",
+	"The Free Software Foundation",
+	"For ncurses:",
+	"and anyone else we forgot...",
+	"Thank you for using nano!"
     };
 
     curs_set(0);
@@ -2780,7 +2780,7 @@ void do_credits(void)
 
 	    if (what == NULL) {
 		assert(0 <= xlpos && xlpos < XLCREDIT_LEN);
-		what = xlcredits[xlpos];
+		what = _(xlcredits[xlpos]);
 		xlpos++;
 	    }
 	    start_x = COLS / 2 - strlen(what) / 2 - 1;