Deal with using static key id issues
diff --git a/src/Recipient.c b/src/Recipient.c
index ecc1c1e..a40bef5 100644
--- a/src/Recipient.c
+++ b/src/Recipient.c
@@ -172,7 +172,7 @@
 			pkeyMessage = (cn_cbor *) pKeyPrivate;
 
 			if (!ECDH_ComputeSecret(pCose, &pkeyMessage, pKeyPublic, &pbSecret, &cbSecret, CBOR_CONTEXT_PARAM_COMMA perr)) goto errorReturn;
-			if (pkeyMessage->parent == NULL) {
+			if (!fStatic && pkeyMessage->parent == NULL) {
 				if (!_COSE_map_put(pCose, COSE_Header_ECDH_EPHEMERAL, pkeyMessage, COSE_UNPROTECT_ONLY, perr)) goto errorReturn;
 			}
 		}
diff --git a/src/cose.h b/src/cose.h
index 358de79..8add444 100644
--- a/src/cose.h
+++ b/src/cose.h
@@ -156,7 +156,7 @@
 	COSE_Header_ECDH_STATIC = -2,
 	COSE_Header_ECDH_EPK = -1,
 	COSE_Header_ECDH_SPK = -2,
-	COSE_Header_ECDH_SPK_KID = -2,
+	COSE_Header_ECDH_SPK_KID = -3,
 
 } COSE_Header;
 
diff --git a/test/test.c b/test/test.c
index 7be7116..cb22d57 100644
--- a/test/test.c
+++ b/test/test.c
@@ -168,11 +168,11 @@
 	int operation;
 	int keyNew;
 } RgStringKeys[7] = {
-	{ "kty", 0, OPERATION_IGNORE, 0},
-	{ "kid", 0, OPERATION_NONE, 1},
-	{ "crv", 2, OPERATION_STRING, -1},
-	{ "x", 2, OPERATION_BASE64, -2},
-	{ "y", 2, OPERATION_BASE64, -3},
+	{ "kty", 0, OPERATION_IGNORE, COSE_Key_Type},
+	{ "kid", 0, OPERATION_NONE, COSE_Key_ID},
+	{ "crv", 2, OPERATION_STRING, COSE_Key_EC2_Curve},
+	{ "x", 2, OPERATION_BASE64, COSE_Key_EC2_X},
+	{ "y", 2, OPERATION_BASE64, COSE_Key_EC2_Y},
 	{ "d", 2, OPERATION_BASE64, -4},
 	{ "k", 4, OPERATION_BASE64, -1}
 };