Prepare for ECDH point blinding just in case
diff --git a/include/polarssl/ecdh.h b/include/polarssl/ecdh.h
index 08de72c..0fa2dfa 100644
--- a/include/polarssl/ecdh.h
+++ b/include/polarssl/ecdh.h
@@ -44,6 +44,9 @@
     ecp_point Qp;       /*!<  peer's public value       */
     mpi z;              /*!<  shared secret             */
     int point_format;   /*!<  format for point export   */
+    ecp_point Vi;       /*!<  blinding value (for later)    */
+    ecp_point Vf;       /*!<  un-blinding value (for later) */
+    mpi _d;             /*!<  previous d                    */
 }
 ecdh_context;
 
diff --git a/library/ecdh.c b/library/ecdh.c
index 8ef02f5..050f99d 100644
--- a/library/ecdh.c
+++ b/library/ecdh.c
@@ -85,12 +85,7 @@
  */
 void ecdh_init( ecdh_context *ctx )
 {
-    ecp_group_init( &ctx->grp );
-    mpi_init      ( &ctx->d   );
-    ecp_point_init( &ctx->Q   );
-    ecp_point_init( &ctx->Qp  );
-    mpi_init      ( &ctx->z   );
-    ctx->point_format = POLARSSL_ECP_PF_UNCOMPRESSED;
+    memset( ctx, 0, sizeof( ecdh_context ) );
 }
 
 /*
@@ -106,6 +101,9 @@
     ecp_point_free( &ctx->Q   );
     ecp_point_free( &ctx->Qp  );
     mpi_free      ( &ctx->z   );
+    ecp_point_free( &ctx->Vi  );
+    ecp_point_free( &ctx->Vf  );
+    mpi_free      ( &ctx->_d  );
 }
 
 /*