diff --git a/programs/pkey/ecdsa.c b/programs/pkey/ecdsa.c
index 3d74978..c5ddab4 100644
--- a/programs/pkey/ecdsa.c
+++ b/programs/pkey/ecdsa.c
@@ -56,11 +56,11 @@
 #define ECPARAMS    ecp_curve_list()->grp_id
 #endif
 
-#if !defined(POLARSSL_ECDSA_C) || \
+#if !defined(POLARSSL_ECDSA_C) || !defined(POLARSSL_SHA256_C) || \
     !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_CTR_DRBG_C)
 int main( void )
 {
-    polarssl_printf("POLARSSL_ECDSA_C and/or "
+    polarssl_printf("POLARSSL_ECDSA_C and/or POLARSSL_SHA256_C and/or "
            "POLARSSL_ENTROPY_C and/or POLARSSL_CTR_DRBG_C not defined\n");
     return( 0 );
 }
@@ -160,7 +160,7 @@
     polarssl_printf( "  . Signing message..." );
     fflush( stdout );
 
-    if( ( ret = ecdsa_write_signature( &ctx_sign,
+    if( ( ret = ecdsa_write_signature( &ctx_sign, POLARSSL_MD_SHA256,
                                        hash, sizeof( hash ),
                                        sig, &sig_len,
                                        ctr_drbg_random, &ctr_drbg ) ) != 0 )
@@ -174,15 +174,6 @@
     dump_buf( "  + Signature: ", sig, sig_len );
 
     /*
-     * Signature is serialized as defined by RFC 4492 p. 20,
-     * but one can also access 'r' and 's' directly from the context
-     */
-#ifdef POLARSSL_FS_IO
-    mpi_write_file( "    r = ", &ctx_sign.r, 16, NULL );
-    mpi_write_file( "    s = ", &ctx_sign.s, 16, NULL );
-#endif
-
-    /*
      * Transfer public information to verifying context
      *
      * We could use the same context for verification and signatures, but we
diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c
index 59239e1..a9cba6f 100644
--- a/programs/test/benchmark.c
+++ b/programs/test/benchmark.c
@@ -652,7 +652,7 @@
     }
 #endif
 
-#if defined(POLARSSL_ECDSA_C)
+#if defined(POLARSSL_ECDSA_C) && defined(POLARSSL_SHA256_C)
     if( todo.ecdsa )
     {
         ecdsa_context ecdsa;
@@ -674,7 +674,7 @@
             polarssl_snprintf( title, sizeof( title ), "ECDSA-%s",
                                               curve_info->name );
             TIME_PUBLIC( title, "sign",
-                    ret = ecdsa_write_signature( &ecdsa, buf, curve_info->size,
+                    ret = ecdsa_write_signature( &ecdsa, POLARSSL_MD_SHA256, buf, curve_info->size,
                                                 tmp, &sig_len, myrand, NULL ) );
 
             ecdsa_free( &ecdsa );
@@ -687,7 +687,7 @@
             ecdsa_init( &ecdsa );
 
             if( ecdsa_genkey( &ecdsa, curve_info->grp_id, myrand, NULL ) != 0 ||
-                ecdsa_write_signature( &ecdsa, buf, curve_info->size,
+                ecdsa_write_signature( &ecdsa, POLARSSL_MD_SHA256, buf, curve_info->size,
                                                tmp, &sig_len, myrand, NULL ) != 0 )
             {
                 polarssl_exit( 1 );
