diff --git a/src/ChangeLog b/src/ChangeLog
index 4ea647a4..59e5bd99 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -7,6 +7,9 @@
 	delimiter after licensing text.
 	* recur.c (retrieve_tree): Inserted missing cast for strip_auth.
 	* openssl.c (ssl_init): const-ified the meth local variable.
+	* main.c: Include all the static function definitions in the
+	"#ifndef TESTING" clause, leaving just the definitions for
+	exec_name (not set), and opt.
 
 2007-08-27  Micah Cowan  <micah@cowan.name>
 
diff --git a/src/main.c b/src/main.c
index ab1786d7..4f0c123c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -71,6 +71,7 @@ static void redirect_output_signal (int);
 
 const char *exec_name;
 
+#ifndef TESTING
 /* Initialize I18N/L10N.  That amounts to invoking setlocale, and
    setting up gettext's message catalog using bindtextdomain and
    textdomain.  Does nothing if NLS is disabled or missing.  */
@@ -679,7 +680,6 @@ There is NO WARRANTY, to the extent permitted by law.\n"), stdout);
   exit (0);
 }
 
-#ifndef TESTING
 int
 main (int argc, char *const *argv)
 {