diff --git a/src/backend.cmod b/src/backend.cmod
index fa217cfe719e83d1bc7d806521520074a60305f3..0639d284e9c900b09cc339f41ca3a8bbabf15a78 100644
--- a/src/backend.cmod
+++ b/src/backend.cmod
@@ -204,8 +204,12 @@ void cfTimerCallback(CFRunLoopTimerRef timer, void * info);
 #endif /* BACKEND_USES_CFRUNLOOP */
 
 static int backend_do_call_outs(struct Backend_struct *me);
+#ifdef PIKE_DEBUG
 static void backend_verify_call_outs(struct Backend_struct *me);
+#endif
+#ifdef DO_PIKE_CLEANUP
 static void backend_cleanup();
+#endif
 
 struct Backend_struct *get_backend_for_fd(int fd)
 {
diff --git a/src/lexer.h b/src/lexer.h
index 70df5a46b1cfef58c5904d236f901e0239efa8e0..aa93ae0b7ef5b8b6574b42fe5beb3d06fe835f21 100644
--- a/src/lexer.h
+++ b/src/lexer.h
@@ -430,7 +430,9 @@ static struct pike_string *readstring(struct lex *lex)
 
 
 
+#if LEXDEBUG>4
 static int low_yylex(struct lex *lex, YYSTYPE *);
+#endif /* LEXDEBUG>4 */
 int yylex(struct lex *lex, YYSTYPE *yylval)
 #if LEXDEBUG>4
 {
diff --git a/src/modules/Parser/xml.cmod b/src/modules/Parser/xml.cmod
index 45824b1adf5d7928c8b6756ce79d3575d27f557d..13471c4c2b45597a94e61919374b00153c5a9385 100644
--- a/src/modules/Parser/xml.cmod
+++ b/src/modules/Parser/xml.cmod
@@ -1122,7 +1122,6 @@ static inline int xmlread(int z, int UNUSED(line))
 
 static void sys(void);
 static int low_parse_dtd(void);
-static void free_xmldata(void);
 static void simple_readname(void);
 static int simple_readname_period(void);
 static void simple_read_system_literal(void);
diff --git a/src/modules/_Charset/charsetmod.h b/src/modules/_Charset/charsetmod.h
index 9535ecc2c1cea4ba6d9f0fb8f5d5ae8f855062ec..53f114da75ec16b7a53a1299ec8b820bad252fbc 100644
--- a/src/modules/_Charset/charsetmod.h
+++ b/src/modules/_Charset/charsetmod.h
@@ -10,10 +10,6 @@
 #include "global.h"
 #include "stralloc.h"
 
-static void DECLSPEC(noreturn) transcode_error_va (
-  struct pike_string *str, ptrdiff_t pos, struct pike_string *charset,
-  int encode, const char *reason, va_list args) ATTRIBUTE((noreturn));
-
 void DECLSPEC(noreturn) transcode_error (
   struct pike_string *str, ptrdiff_t pos, struct pike_string *charset,
   int encode, const char *reason, ...);