diff --git a/library/pk.c b/library/pk.c
index 6cfc16b..c83d02b 100644
--- a/library/pk.c
+++ b/library/pk.c
@@ -119,11 +119,16 @@
     else
 #endif
 #if defined(POLARSSL_ECP_C)
-    if( type == POLARSSL_PK_ECKEY || type == POLARSSL_PK_ECKEY_DH )
+    if( type == POLARSSL_PK_ECKEY )
     {
         size = sizeof( ecp_keypair );
         info = &eckey_info;
     }
+    else if( type == POLARSSL_PK_ECKEY_DH )
+    {
+        size = sizeof( ecp_keypair );
+        info = &eckeydh_info;
+    }
     else
 #endif
 #if defined(POLARSSL_ECDSA_C)
diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index f7b0833..9a89796 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -84,6 +84,9 @@
 #endif /* POLARSSL_ECDSA_C */
 
 #if defined(POLARSSL_ECP_C)
+/*
+ * Generic EC key
+ */
 static int eckey_can_do( pk_type_t type )
 {
     return( type == POLARSSL_PK_ECKEY ||
@@ -123,4 +126,32 @@
     eckey_can_do,
     eckey_verify_wrap,
 };
+
+/*
+ * EC key resticted to ECDH
+ */
+static int eckeydh_can_do( pk_type_t type )
+{
+    return( type == POLARSSL_PK_ECKEY ||
+            type == POLARSSL_PK_ECKEY_DH );
+}
+
+static int eckeydh_verify_wrap( void *ctx,
+                       const unsigned char *hash, const md_info_t *md_info,
+                       const unsigned char *sig, size_t sig_len )
+{
+    ((void) ctx);
+    ((void) hash);
+    ((void) md_info);
+    ((void) sig);
+    ((void) sig_len);
+
+    return( POLARSSL_ERR_PK_TYPE_MISMATCH );
+}
+
+const pk_info_t eckeydh_info = {
+    POLARSSL_PK_ECKEY_DH,
+    eckeydh_can_do,
+    eckeydh_verify_wrap,
+};
 #endif /* POLARSSL_ECP_C */
