diff --git a/src/control.c b/src/control.c
index bf84a069..98eae804 100644
--- a/src/control.c
+++ b/src/control.c
@@ -78,11 +78,12 @@ bool control_h(connection_t *c, const char *request) {
 			return control_ok(c, REQ_PURGE);
 
 		case REQ_SET_DEBUG: {
-			debug_t new_level;
+			int new_level;
 			if(sscanf(request, "%*d %*d %d", &new_level) != 1)
 				return false;
 			send_request(c, "%d %d %d", CONTROL, REQ_SET_DEBUG, debug_level);
-			debug_level = new_level;
+			if(new_level >= 0)
+				debug_level = new_level;
 			return true;
 		}
 
diff --git a/src/control.h b/src/control.h
index 8609fc86..ce8145a3 100644
--- a/src/control.h
+++ b/src/control.h
@@ -20,8 +20,8 @@
 #ifndef __TINC_CONTROL_H__
 #define __TINC_CONTROL_H__
 
-extern bool init_control(void);
-extern void exit_control(void);
+extern bool init_control();
+extern void exit_control();
 extern char controlcookie[];
 
 #endif