diff --git a/ChangeLog b/ChangeLog
index 056d5d5726916a2b6b6e7b9d56fe62839639dd43..9ebe265af2eaa2052ba505d0db8a796713497a84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-03  Niels M�ller  <niels@s3.kth.se>
+
+	* examples/io.h: Include RSA declarations only when public key
+	algorithms are enabled. Problem reported by Meilof Veeningen
+	<meilof@gmail.com>. 
+
 2004-12-07  Niels M�ller  <nisse@lysator.liu.se>
 
 	* Makefile.in: Install directories, using $(INSTALL) -d, only if
diff --git a/examples/io.h b/examples/io.h
index a5211951dcb561e9923cb30415f574646e034ac3..93c6856c2da8c1fad819eb2c8035da1d57ef4821 100644
--- a/examples/io.h
+++ b/examples/io.h
@@ -27,7 +27,9 @@
 #define NETTLE_EXAMPLES_IO_H_INCLUDED
 
 #include "nettle-meta.h"
-#include "rsa.h"
+#if WITH_PUBLIC_KEY
+# include "rsa.h"
+#endif
 #include "yarrow.h"
 
 #include <stdio.h>
@@ -61,6 +63,7 @@ simple_random(struct yarrow256_ctx *ctx, const char *name);
 int
 hash_file(const struct nettle_hash *hash, void *ctx, FILE *f);
 
+#if WITH_PUBLIC_KEY
 struct rsa_public_key;
 struct rsa_private_key;
 
@@ -68,5 +71,6 @@ int
 read_rsa_key(const char *name,
 	     struct rsa_public_key *pub,
 	     struct rsa_private_key *priv);
+#endif /* WITH_PUBLIC_KEY */
 
 #endif /* NETTLE_EXAMPLES_IO_H_INCLUDED */