diff --git a/ChangeLog b/ChangeLog
index 24708020903986878c3c18a65114c231c66e6df1..fcdc620e0dbb2a1816822a68bfdd95645697c395 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2009-04-23  Ulrich Drepper  <drepper@redhat.com>
 
+	[BZ #9920]
+	* stdlib/random_r.c (__srandom_r): Change type of word to int32_t
+	to get consistency between 32 and 64 bit architectures.
+
 	[BZ #10052]
 	* sysdeps/unix/make-syscalls.sh: Add rule to create target
 	directory for dummy syscall rules.
diff --git a/stdlib/random_r.c b/stdlib/random_r.c
index 5e564a737d3badb703b71416b8cfe18d9609abf9..a30055f598ae3ca1e07759c9ec2700aa87c94baa 100644
--- a/stdlib/random_r.c
+++ b/stdlib/random_r.c
@@ -1,5 +1,5 @@
 /*
-   Copyright (C) 1995, 2005 Free Software Foundation
+   Copyright (C) 1995, 2005, 2009 Free Software Foundation
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -166,7 +166,7 @@ __srandom_r (seed, buf)
   int type;
   int32_t *state;
   long int i;
-  long int word;
+  int32_t word;
   int32_t *dst;
   int kc;