diff --git a/ChangeLog b/ChangeLog
index 509589840f03a2c0cb44fb0e7d47bfbb722b548b..57c2f516c5eea74ff2e45fe61f0a2524c3e0fc4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-22  Niels Möller  <nisse@lysator.liu.se>
+
+	* sha2.h (sha512_224_ctx, sha512_256_ctx): New aliases for the
+	sha512_ctx struct tag.
+
 2014-04-17  Niels Möller  <nisse@lysator.liu.se>
 
 	* examples/Makefile.in (SOURCES): Deleted next-prime.c (forgotten
diff --git a/sha2.h b/sha2.h
index d5f75a9159f5f17b273bf47da3b0f8d11cef6fb7..acbcc16dd89080b107219cca28cfff8d8b76e5b9 100644
--- a/sha2.h
+++ b/sha2.h
@@ -167,25 +167,29 @@ sha384_digest(struct sha512_ctx *ctx,
 
 #define SHA512_224_DIGEST_SIZE 28
 #define SHA512_224_DATA_SIZE SHA512_DATA_SIZE
+#define sha512_224_ctx sha512_ctx
+
 void
-sha512_224_init(struct sha512_ctx *ctx);
+sha512_224_init(struct sha512_224_ctx *ctx);
 
 #define sha512_224_update nettle_sha512_update
 
 void
-sha512_224_digest(struct sha512_ctx *ctx,
+sha512_224_digest(struct sha512_224_ctx *ctx,
                   size_t length,
                   uint8_t *digest);
 
 #define SHA512_256_DIGEST_SIZE 32
 #define SHA512_256_DATA_SIZE SHA512_DATA_SIZE
+#define sha512_256_ctx sha512_ctx
+
 void
-sha512_256_init(struct sha512_ctx *ctx);
+sha512_256_init(struct sha512_256_ctx *ctx);
 
 #define sha512_256_update nettle_sha512_update
 
 void
-sha512_256_digest(struct sha512_ctx *ctx,
+sha512_256_digest(struct sha512_256_ctx *ctx,
                   size_t length,
                   uint8_t *digest);
   
diff --git a/sha512.c b/sha512.c
index ddc9f9ba47d5a04d283fad4d2c0549a1a7994ccb..e01658ced8bfb77e97b3134f393d8a62fca0fd4b 100644
--- a/sha512.c
+++ b/sha512.c
@@ -249,7 +249,7 @@ sha384_digest(struct sha512_ctx *ctx,
 
 /* sha-512/224 variant. */
 void
-sha512_224_init(struct sha512_ctx *ctx)
+sha512_224_init(struct sha512_224_ctx *ctx)
 {
   static const uint64_t H0[_SHA512_DIGEST_LENGTH] =
   {
@@ -269,7 +269,7 @@ sha512_224_init(struct sha512_ctx *ctx)
 }
 
 void
-sha512_224_digest(struct sha512_ctx *ctx,
+sha512_224_digest(struct sha512_224_ctx *ctx,
 	      size_t length,
 	      uint8_t *digest)
 {
@@ -282,7 +282,7 @@ sha512_224_digest(struct sha512_ctx *ctx,
 
 /* sha-512/256 variant. */
 void
-sha512_256_init(struct sha512_ctx *ctx)
+sha512_256_init(struct sha512_256_ctx *ctx)
 {
   static const uint64_t H0[_SHA512_DIGEST_LENGTH] =
     {
@@ -302,7 +302,7 @@ sha512_256_init(struct sha512_ctx *ctx)
 }
 
 void
-sha512_256_digest(struct sha512_ctx *ctx,
+sha512_256_digest(struct sha512_256_ctx *ctx,
 	      size_t length,
 	      uint8_t *digest)
 {