diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c
index 863bbce..57fe67b 100644
--- a/programs/test/benchmark.c
+++ b/programs/test/benchmark.c
@@ -33,7 +33,7 @@
 
 #include "polarssl/md4.h"
 #include "polarssl/md5.h"
-#include "polarssl/rmd160.h"
+#include "polarssl/ripemd160.h"
 #include "polarssl/sha1.h"
 #include "polarssl/sha256.h"
 #include "polarssl/sha512.h"
@@ -139,14 +139,14 @@
 unsigned char buf[BUFSIZE];
 
 typedef struct {
-    char md4, md5, rmd160, sha1, sha256, sha512,
+    char md4, md5, ripemd160, sha1, sha256, sha512,
          arc4, des3, des, aes_cbc, aes_gcm, camellia, blowfish,
          havege, ctr_drbg,
          rsa, dhm, ecdsa, ecdh;
 } todo_list;
 
 #define OPTIONS                                                         \
-    "md4, md5, rmd160, sha1, sha256, sha512,\n"                         \
+    "md4, md5, ripemd160, sha1, sha256, sha512,\n"                      \
     "arc4, des3, des, aes_cbc, aes_gcm, camellia, blowfish,\n"          \
     "havege, ctr_drbg,\n"                                               \
     "rsa, dhm, ecdsa, ecdh.\n"
@@ -170,8 +170,8 @@
                 todo.md4 = 1;
             else if( strcmp( argv[i], "md5" ) == 0 )
                 todo.md5 = 1;
-            else if( strcmp( argv[i], "rmd160" ) == 0 )
-                todo.rmd160 = 1;
+            else if( strcmp( argv[i], "ripemd160" ) == 0 )
+                todo.ripemd160 = 1;
             else if( strcmp( argv[i], "sha1" ) == 0 )
                 todo.sha1 = 1;
             else if( strcmp( argv[i], "sha256" ) == 0 )
@@ -226,9 +226,9 @@
         TIME_AND_TSC( "MD5", md5( buf, BUFSIZE, tmp ) );
 #endif
 
-#if defined(POLARSSL_RMD160_C)
-    if( todo.rmd160 )
-        TIME_AND_TSC( "RMD160", rmd160( buf, BUFSIZE, tmp ) );
+#if defined(POLARSSL_RIPEMD160_C)
+    if( todo.ripemd160 )
+        TIME_AND_TSC( "RIPEMD160", ripemd160( buf, BUFSIZE, tmp ) );
 #endif
 
 #if defined(POLARSSL_SHA1_C)
diff --git a/programs/test/selftest.c b/programs/test/selftest.c
index fc990fe..8a8a820 100644
--- a/programs/test/selftest.c
+++ b/programs/test/selftest.c
@@ -34,7 +34,7 @@
 #include "polarssl/md2.h"
 #include "polarssl/md4.h"
 #include "polarssl/md5.h"
-#include "polarssl/rmd160.h"
+#include "polarssl/ripemd160.h"
 #include "polarssl/sha1.h"
 #include "polarssl/sha256.h"
 #include "polarssl/sha512.h"
@@ -90,8 +90,8 @@
         return( ret );
 #endif
 
-#if defined(POLARSSL_RMD160_C)
-    if( ( ret = rmd160_self_test( v ) ) != 0 )
+#if defined(POLARSSL_RIPEMD160_C)
+    if( ( ret = ripemd160_self_test( v ) ) != 0 )
         return( ret );
 #endif
 
