diff --git a/CHANGELOG b/CHANGELOG
index e509ac089f7c56fcfb9f1ff7f3e72a85384780d9..1aec75d9531cf7b686f6bcaa29cbd51fb0a2d3df 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Fix loop end test in lib_generic/string.c:strswab()
+  Patch by Andrew Dyer, October 10, 2005
+  Signed-off-by: Andrew Dyer <amdyer@gmail.com>
+
 * Cleanup
 
 * Update ARM Integrator boards:
diff --git a/lib_generic/string.c b/lib_generic/string.c
index dea4d69a9b394d1c46958fc402ac825e6fbeb7f2..0e99d1b2b50cc9200da6dc49de3a35a858490a90 100644
--- a/lib_generic/string.c
+++ b/lib_generic/string.c
@@ -380,7 +380,7 @@ char *strswab(const char *s)
 		return (NULL);
 	}
 
-	for (p=(char *)s, q=p+1; (*p != '\0') && (*p != '\0'); p+=2, q+=2) {
+	for (p=(char *)s, q=p+1; (*p != '\0') && (*q != '\0'); p+=2, q+=2) {
 		char  tmp;
 
 		tmp = *p;