diff --git a/libmobile_hilink.c b/libmobile_hilink.c
index 0946dabbc5b989dc4724f9eb59bf8992f1adc4a6..f93e4411cbe885ce7bcbc6e8efc74b9939cd0bd2 100644
--- a/libmobile_hilink.c
+++ b/libmobile_hilink.c
@@ -634,34 +634,6 @@ fail_result:
 	return NULL;
 }
 
-struct json_object *mobile_unlock_sim_hilink(char *pin, char *puk)
-{
-	char *api_url = "http://192.168.8.1/api/pin/operate";
-	char post_query[1024];
-	struct write_result *result;
-	struct json_object *result_json;
-
-	snprintf(post_query, 1023, "<request><OperateType>4</OperateType><CurrentPin>%s</CurrentPin><NewPin>%s</NewPin><PukCode>%s</PukCode></request>", pin, pin, puk);
-
-	result = post_request(sess_tok_url, api_url, post_query);
-	if (!result)
-		goto fail_result;
-
-	result_json = xml_to_json_converter(result);
-	if (!result_json)
-		goto fail_converter;
-
-	if (result)
-		free(result);
-
-	return result_json;
-
-fail_converter:
-	free(result);
-fail_result:
-	return NULL;
-}
-
 struct json_object *mobile_delete_apn_profile_hilink(int profile_name_location)
 {
 	char *api_url = "http://192.168.8.1/api/dialup/profiles";
@@ -974,6 +946,10 @@ struct json_object *mobile_set_pin_hilink(char *current_pin, char *new_pin)
 	return pin_action("03", current_pin, new_pin, "");
 }
 
+struct json_object *mobile_unlock_sim_hilink(char *pin, char *puk)
+{
+	return pin_action("4", pin, pin, puk);
+}
 
 struct json_object *mobile_set_language_hilink(char *language_name)
 {