diff --git a/ChangeLog b/ChangeLog
index 3c1c92a86dd4f89072e7a899dd5d6a9d4e71d01f..0790560630877f5e353bb6647ca508a4d5bf29f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2012-12-02  Niels Möller  <nisse@lysator.liu.se>
 
-	Split sha.h into new files sha1.h and sha2.h.
+	Split sha.h into new files sha1.h and sha2.h. Replaced all
+	internal usage of sha.h in all files.
 	* sha.h: Kept for compatibility, just includes both new files.
 	* sha1.h: New file.
 	* sha2.h: New file.
diff --git a/dsa.h b/dsa.h
index 1a974646150c42730944495c79e4bb3d92f0c237..7ee26249d76eb62e09e96acef0c6ed3ac8b7c617 100644
--- a/dsa.h
+++ b/dsa.h
@@ -30,7 +30,8 @@
 
 #include "nettle-types.h"
 
-#include "sha.h"
+#include "sha1.h"
+#include "sha2.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/examples/nettle-benchmark.c b/examples/nettle-benchmark.c
index d3da1bcad5618ed40a67ba9c720d5c7500fab97d..7b0171c5b20bc8b8ba1cba097e01a990e074625c 100644
--- a/examples/nettle-benchmark.c
+++ b/examples/nettle-benchmark.c
@@ -49,7 +49,8 @@
 #include "memxor.h"
 #include "salsa20.h"
 #include "serpent.h"
-#include "sha.h"
+#include "sha1.h"
+#include "sha2.h"
 #include "sha3.h"
 #include "twofish.h"
 
diff --git a/hmac.h b/hmac.h
index 6cb2b746072cc3845c432322b4ab45448581a581..c6cb0e06170f5ac8ca3342e099a0ff0e0ff11022 100644
--- a/hmac.h
+++ b/hmac.h
@@ -30,7 +30,8 @@
 
 #include "md5.h"
 #include "ripemd160.h"
-#include "sha.h"
+#include "sha1.h"
+#include "sha2.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/rsa.h b/rsa.h
index 861101b932ad1c144f9ea2a7ce2c62b1542b24f6..4226f389751f08fe35e6e18557672306139d09ce 100644
--- a/rsa.h
+++ b/rsa.h
@@ -30,7 +30,8 @@
 #include "nettle-types.h"
 
 #include "md5.h"
-#include "sha.h"
+#include "sha1.h"
+#include "sha2.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/sha-example.c b/sha-example.c
index 8b3d505919e96eb5a97f19f2ee1252a481698e6f..dcd889c73e88ab257d15324377e6ae47c1c26f6c 100644
--- a/sha-example.c
+++ b/sha-example.c
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#include <nettle/sha.h>
+#include <nettle/sha1.h>
 
 #define BUF_SIZE 1000
 
diff --git a/sha1-compress.c b/sha1-compress.c
index d19617443789f203770ae0ba9ee8008678d8ac3a..afdfe8e85ceda44b3b6e2e172af34f5ead861620 100644
--- a/sha1-compress.c
+++ b/sha1-compress.c
@@ -55,7 +55,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha1.h"
 
 #include "macros.h"
 
diff --git a/sha1-meta.c b/sha1-meta.c
index 9a051bdaf3fed94b4fa208ffce5647b51b313ed5..60c2bb5823bf896f92d5a2a8dee2747173442666 100644
--- a/sha1-meta.c
+++ b/sha1-meta.c
@@ -26,7 +26,7 @@
 
 #include "nettle-meta.h"
 
-#include "sha.h"
+#include "sha1.h"
 
 const struct nettle_hash nettle_sha1
 = _NETTLE_HASH(sha1, SHA1);
diff --git a/sha1.c b/sha1.c
index 95ec418a2d624435fa04ea26265b35a2c5dab35f..dc52be22fd3800283e861fce6aacc2bb0f2acf7e 100644
--- a/sha1.c
+++ b/sha1.c
@@ -44,7 +44,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha1.h"
 
 #include "macros.h"
 #include "nettle-write.h"
diff --git a/sha224-meta.c b/sha224-meta.c
index 8c6d9fbc6dfdba22cbd481b8a82960f329229e02..27b2910290b62d29dd300027a97478f5d6b449f2 100644
--- a/sha224-meta.c
+++ b/sha224-meta.c
@@ -26,7 +26,7 @@
 
 #include "nettle-meta.h"
 
-#include "sha.h"
+#include "sha2.h"
 
 const struct nettle_hash nettle_sha224
 = _NETTLE_HASH(sha224, SHA224);
diff --git a/sha256-compress.c b/sha256-compress.c
index 7d449297f30053bb762f201505b17b33dea9e466..3f441e816fdf8d87a913beffb9486563f234c394 100644
--- a/sha256-compress.c
+++ b/sha256-compress.c
@@ -31,7 +31,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha2.h"
 
 #include "macros.h"
 
diff --git a/sha256-meta.c b/sha256-meta.c
index 65923103f51b65c98219bc0f53e8850f68d8b523..5c882b7b782b54f02e7fe8534b59689de3bec818 100644
--- a/sha256-meta.c
+++ b/sha256-meta.c
@@ -26,7 +26,7 @@
 
 #include "nettle-meta.h"
 
-#include "sha.h"
+#include "sha2.h"
 
 const struct nettle_hash nettle_sha256
 = _NETTLE_HASH(sha256, SHA256);
diff --git a/sha256.c b/sha256.c
index dee55d9dd069a47c05de54f86ea2beaa4e96a92f..47995979b780a3b73e6b3abbc630d346e8ea07f0 100644
--- a/sha256.c
+++ b/sha256.c
@@ -35,7 +35,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha2.h"
 
 #include "macros.h"
 #include "nettle-write.h"
diff --git a/sha384-meta.c b/sha384-meta.c
index 18603443b35de80905fa83be352dfaca3fda1bd5..e5a7ab3f00a50e31afa6fcc4ec9203adb4ec42ab 100644
--- a/sha384-meta.c
+++ b/sha384-meta.c
@@ -26,7 +26,7 @@
 
 #include "nettle-meta.h"
 
-#include "sha.h"
+#include "sha2.h"
 
 const struct nettle_hash nettle_sha384
 = _NETTLE_HASH(sha384, SHA384);
diff --git a/sha512-compress.c b/sha512-compress.c
index 901b6cf4c9d7a1c95e3eace1f8d0272247cf2b69..9dd34f4c6bd1e4ec1aabfd2969054fc1e0094730 100644
--- a/sha512-compress.c
+++ b/sha512-compress.c
@@ -31,7 +31,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha2.h"
 
 #include "macros.h"
 
diff --git a/sha512-meta.c b/sha512-meta.c
index cfc485d3c6ca96df5ac0ce52f483139ac2842a94..cb62762c29a14c18c452078dd3c96805521270ee 100644
--- a/sha512-meta.c
+++ b/sha512-meta.c
@@ -26,7 +26,7 @@
 
 #include "nettle-meta.h"
 
-#include "sha.h"
+#include "sha2.h"
 
 const struct nettle_hash nettle_sha512
 = _NETTLE_HASH(sha512, SHA512);
diff --git a/sha512.c b/sha512.c
index d39137ad305015c08ef65674373568f824ec051b..95623cb70ac936de4df0a08bd7a54d0825e49559 100644
--- a/sha512.c
+++ b/sha512.c
@@ -35,7 +35,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "sha.h"
+#include "sha2.h"
 
 #include "macros.h"
 
diff --git a/testsuite/pbkdf2-test.c b/testsuite/pbkdf2-test.c
index ffb5580720591a1ddbcc735921c2480458794d5b..e3cf9539878d06ffcaf089651178694b5a69a79f 100644
--- a/testsuite/pbkdf2-test.c
+++ b/testsuite/pbkdf2-test.c
@@ -1,6 +1,5 @@
 #include "testutils.h"
 #include "hmac.h"
-#include "sha.h"
 #include "pbkdf2.h"
 
 /* NOTE: The salt argument is expected to expand to length, data */
diff --git a/testsuite/sha1-huge-test.c b/testsuite/sha1-huge-test.c
index 6557eadc775f255791c743f6b401aa82b77f8dec..156a762a7fb2b996ebb981c07f363671cdd22925 100644
--- a/testsuite/sha1-huge-test.c
+++ b/testsuite/sha1-huge-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/testsuite/sha1-test.c b/testsuite/sha1-test.c
index 5f39c0fc134e0975cc15cde4aee32b12e0188447..8356555b04b8285d6faa2987330c3c2b8b55cae6 100644
--- a/testsuite/sha1-test.c
+++ b/testsuite/sha1-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/testsuite/sha224-test.c b/testsuite/sha224-test.c
index 8a001007ddef75c8cafe1cacb95f5840158c6662..eb20c30051c71b7a2d9fdf7b1e4dc5fa0b4eb53e 100644
--- a/testsuite/sha224-test.c
+++ b/testsuite/sha224-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/testsuite/sha256-test.c b/testsuite/sha256-test.c
index 43adcc2b8efc33064b17c1f97a6f56c3e2c85029..e625c56d00da90c26574761dcfede1dd98b34089 100644
--- a/testsuite/sha256-test.c
+++ b/testsuite/sha256-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/testsuite/sha384-test.c b/testsuite/sha384-test.c
index 7b94fa48a2762540c6e510406c385da03778a61c..13a021445ea109f9cdabcffe8846634efa2ca82f 100644
--- a/testsuite/sha384-test.c
+++ b/testsuite/sha384-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/testsuite/sha512-test.c b/testsuite/sha512-test.c
index 490935b8d251bc3f32dde6d397d196a9acb60cf1..853d5b8274cb61acbb1cd9a4186adef7a9f1f9d3 100644
--- a/testsuite/sha512-test.c
+++ b/testsuite/sha512-test.c
@@ -1,5 +1,4 @@
 #include "testutils.h"
-#include "sha.h"
 
 void
 test_main(void)
diff --git a/yarrow.h b/yarrow.h
index e2b5aadd1099238fe2919834dbc3d21a4ca05c93..8a0de5f696d8b404f44a401ed4625ce08e7eb177 100644
--- a/yarrow.h
+++ b/yarrow.h
@@ -27,7 +27,7 @@
 #define NETTLE_YARROW_H_INCLUDED
 
 #include "aes.h"
-#include "sha.h"
+#include "sha2.h"
 
 #ifdef __cplusplus
 extern "C" {