diff --git a/src/libopensc/card-myeid.c b/src/libopensc/card-myeid.c
index 1950f02..6ab9bea 100644
--- a/src/libopensc/card-myeid.c
+++ b/src/libopensc/card-myeid.c
@@ -497,55 +497,15 @@ static int myeid_pin_cmd(sc_card_t *card, struct sc_pin_cmd_data *data,
 		SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_NORMAL, SC_ERROR_INVALID_PIN_LENGTH);
 
 	data->flags |= SC_PIN_CMD_NEED_PADDING;
-	if(data->cmd == SC_PIN_CMD_VERIFY)
-	{
-		if(card_state == SC_FILE_STATUS_CREATION) {
-			verify = 0;
-			sc_debug(card->ctx, SC_LOG_DEBUG_VERBOSE, "Card in creation state, no need to verify");
-		}
-		else {
-			u8  buf[8];
-			memset(buf, data->pin1.pad_char, sizeof(buf));
-			memcpy(&buf[0], (u8 *)data->pin1.data, data->pin1.len);   /* copy pin*/
-			data->pin1.data = buf;
-			data->pin1.len  = 8;
-		}
-	}
-	else if(data->cmd == SC_PIN_CMD_CHANGE)
-	{
-		u8  buf[8], buf2[8];
-
-		sc_debug(card->ctx, SC_LOG_DEBUG_VERBOSE, "PIN change");
-		memset(buf, 0xFF, sizeof(buf));
-		memcpy(&buf[0], (u8 *)data->pin1.data, data->pin1.len);    /*copy pin1 (old PIN)*/
-		data->pin1.data = buf;
-		data->pin1.len  = 8;
-
-		memset(buf2, 0xFF, sizeof(buf));
-		memcpy(&buf2[0], (u8 *)data->pin2.data, data->pin2.len);    /*copy pin2 (new PIN)*/
-		data->pin2.data = buf2;
-		data->pin2.len  = 8;
-	}
-	else if(data->cmd == SC_PIN_CMD_UNBLOCK)
-	{
-		u8  buf[8], buf2[8];
-
-		sc_debug(card->ctx, SC_LOG_DEBUG_VERBOSE, "PIN unblock");
-		memset(buf, 0xFF, sizeof(buf));
-		memcpy(&buf[0], (u8 *)data->pin1.data, data->pin1.len);	    /* copy pin1 (PUK)*/
-		data->pin1.data = buf;
-		data->pin1.len  = 8;
-
-		memset(buf2, 0xFF, sizeof(buf));
-		memcpy(&buf2[0], (u8 *)data->pin2.data, data->pin2.len);   /* copy pin2, (new PIN)*/
-		data->pin2.data = buf2;
-		data->pin2.len  = 8;
+	data->pin1.pad_length = data->pin2.pad_length = 8;
+	data->pin1.pad_char = data->pin2.pad_char = 0xFF;
+	
+	if (data->cmd == SC_PIN_CMD_VERIFY && card_state == SC_FILE_STATUS_CREATION) {
+		sc_debug(card->ctx, SC_LOG_DEBUG_VERBOSE, "Card in creation state, no need to verify");
+		return SC_SUCCESS;
 	}
-
-	if(verify)
-		SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_NORMAL, iso_ops->pin_cmd(card, data, tries_left));
-	else
-		SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_NORMAL, 0);
+	
+	SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_NORMAL, iso_ops->pin_cmd(card, data, tries_left));
 }
 
 static int myeid_set_security_env2(sc_card_t *card, const sc_security_env_t *env, 
