diff --git a/ChangeLog b/ChangeLog
index 549290f49496e0ea38fe43eb542dc7201db88c59..2d7ba8ac4a79352352524a80f75f85c696888da5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-08-17  Niels M�ller  <nisse@cuckoo.hack.org>
+
+	* desCode.h (des_keymap, des_bigmap): Deleted extern declarations,
+	they conficted with the static definition in des.c. Reported by
+	Simon Josefsson.
+
+	* des.c (DesSmallFipsEncrypt, DesSmallFipsDecrypt): Moved
+	definitions after the definition of the des_kemap array. 
+	
 2003-08-11  Niels M�ller  <nisse@cuckoo.hack.org>
 
 	* rsa-encrypt.c (rsa_encrypt): Bugfix contributed by
diff --git a/des.c b/des.c
index cccfe0d46ac8603b7b6d34760824160c8a8b389a..c9f294c24f9f5775a677a74a1d28fda526d2c43f 100644
--- a/des.c
+++ b/des.c
@@ -40,9 +40,6 @@
 
 #include "desCode.h"
 
-static ENCRYPT(DesSmallFipsEncrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS)
-static DECRYPT(DesSmallFipsDecrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS)
-
 /* various tables */
 
 static const uint32_t
@@ -60,6 +57,9 @@ parity[] = {
 #include	"parity.h"
 };
 
+static ENCRYPT(DesSmallFipsEncrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS)
+static DECRYPT(DesSmallFipsDecrypt,TEMPSMALL, LOADFIPS,KEYMAPSMALL,SAVEFIPS)
+
 void
 des_fix_parity(unsigned length, uint8_t *dst,
 	       const uint8_t *src)
diff --git a/desCode.h b/desCode.h
index 524695212fd99c21dbdb181e354546b31297567e..cdb30873ab10a840344a99c1dd522607c566802f 100644
--- a/desCode.h
+++ b/desCode.h
@@ -9,9 +9,6 @@
 
 #include "des.h"
 
-extern const uint32_t des_keymap[];
-extern const uint32_t des_bigmap[];
-
 /* optional customization:
  * the idea here is to alter the code so it will still run correctly
  * on any machine,  but the quickest on the specific machine in mind.