diff --git a/core/network_thread.c b/core/network_thread.c
index 99fbaf9..21ab75c 100644
--- a/core/network_thread.c
+++ b/core/network_thread.c
@@ -512,7 +512,7 @@ void *network_thread (void *data)
 			case SET_UPDATE_STATE:
 				value = *(update_state_t *)msg.data.msg;
 				msg.type = (is_valid_state(value) &&
-					    save_state((char *)STATE_KEY, value) == SERVER_OK)
+					    save_state(value) == SERVER_OK)
 					       ? ACK
 					       : NACK;
 				break;
diff --git a/core/state.c b/core/state.c
index fe415ea..14905fe 100644
--- a/core/state.c
+++ b/core/state.c
@@ -42,7 +42,7 @@ static int do_save_state(char *key, char* value)
 	return bootloader_env_set(key, value);
 }
 
-int save_state(char *key, update_state_t value)
+int save_state(update_state_t value)
 {
 	char value_str[2] = {value, '\0'};
 	ipc_message msg;
@@ -54,7 +54,7 @@ int save_state(char *key, update_state_t value)
 		return (ipc_send_cmd(&msg));
 	} else {
 		/* Main process */
-		return do_save_state(key, value_str);
+		return do_save_state((char *)STATE_KEY, value_str);
 	}
 }
 
diff --git a/core/stream_interface.c b/core/stream_interface.c
index 3907ade..558e857 100644
--- a/core/stream_interface.c
+++ b/core/stream_interface.c
@@ -605,7 +605,7 @@ void *network_initializer(void *data)
 				inst.last_install = FAILURE;
 				if (!software->globals.dry_run
 				    && software->bootloader_state_marker
-				    && save_state((char *)STATE_KEY, STATE_FAILED) != SERVER_OK) {
+				    && save_state(STATE_FAILED) != SERVER_OK) {
 					WARN("Cannot persistently store FAILED update state.");
 				}
 			} else {
@@ -618,7 +618,7 @@ void *network_initializer(void *data)
 				}
 				if (!software->globals.dry_run
 				    && software->bootloader_state_marker
-				    && save_state((char *)STATE_KEY, STATE_INSTALLED) != SERVER_OK) {
+				    && save_state(STATE_INSTALLED) != SERVER_OK) {
 					ERROR("Cannot persistently store INSTALLED update state.");
 					notify(FAILURE, RECOVERY_ERROR, ERRORLEVEL, "Installation failed !");
 					inst.last_install = FAILURE;
diff --git a/include/state.h b/include/state.h
index 4ddb607..5814653 100644
--- a/include/state.h
+++ b/include/state.h
@@ -58,5 +58,5 @@ static inline char* get_state_string(update_state_t state) {
 	return (char*)"<nil>";
 }
 
-int save_state(char *key, update_state_t value);
+int save_state(update_state_t value);
 update_state_t get_state(void);
diff --git a/suricatta/server_hawkbit.c b/suricatta/server_hawkbit.c
index df48180..86b5c8a 100644
--- a/suricatta/server_hawkbit.c
+++ b/suricatta/server_hawkbit.c
@@ -740,7 +740,7 @@ server_op_res_t server_has_pending_action(int *action_id)
 		/*
 		 * Save the state
 		 */
-		if ((result = save_state((char *)STATE_KEY, STATE_OK)) != SERVER_OK) {
+		if ((result = save_state(STATE_OK)) != SERVER_OK) {
 			ERROR("Error while resetting update state on persistent "
 			"storage.\n");
 		}
@@ -891,7 +891,7 @@ server_op_res_t server_handle_initial_state(update_state_t stateovrrd)
 	/* NOTE (Re-)setting STATE_KEY=STATE_OK == '0' instead of deleting it
 	 *      as it may be required for the switchback/recovery U-Boot logics.
 	 */
-	if ((result = save_state((char *)STATE_KEY, STATE_OK)) != SERVER_OK) {
+	if ((result = save_state(STATE_OK)) != SERVER_OK) {
 		ERROR("Error while resetting update state on persistent "
 		      "storage.\n");
 		return result;
@@ -1945,7 +1945,7 @@ static server_op_res_t server_activation_ipc(ipc_message *msg)
 		/*
 		 * Save the state
 		 */
-		if ((result = save_state((char *)STATE_KEY, STATE_OK)) != SERVER_OK) {
+		if ((result = save_state(STATE_OK)) != SERVER_OK) {
 			ERROR("Error while resetting update state on persistent "
 			"storage.\n");
 		}
diff --git a/test/test_server_hawkbit.c b/test/test_server_hawkbit.c
index b26d6a9..61e20fd 100644
--- a/test/test_server_hawkbit.c
+++ b/test/test_server_hawkbit.c
@@ -115,11 +115,10 @@ channel_op_res_t __wrap_channel_get(channel_t *this, void *data)
 	return mock_type(channel_op_res_t);
 }
 
-extern int __real_save_state(char *key, update_state_t value);
-int __wrap_save_state(char *key, update_state_t *value);
-int __wrap_save_state(char *key, update_state_t *value)
+extern int __real_save_state(update_state_t value);
+int __wrap_save_state(update_state_t *value);
+int __wrap_save_state(update_state_t *value)
 {
-	(void)key;
 	(void)value;
 	return mock_type(int);
 }
