diff --git a/AUTHORS b/AUTHORS
index cf3bf5dc5e511d204d25141e3977467151e9b3f5..2a5a22b141a8ba3da2abc9217c7728faded99c2a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -30,7 +30,7 @@ Glenn Mabutt, Paul Kreiner, Erik Kunze, Mike Frysinger, Martin Waitz,
 Mark McLoughlin, Paul Fox, Juan Jose Costello, Andre Leiadella,
 Alberto Lusiani, Malvina Mazin, Dave Stuart, Rohit Kumar, Donald Dugger,
 Steven Carr, Uwe Völker, Charles Coffing, Guillaume Rousse,
-Alessandro Praduroux, and Brad Hards.
+Alessandro Praduroux, Brad Hards, and Timo Ketola.
 
 Probably I forgot quite a few people sending a patch here and there, which
 really made a difference. Without those, some obscure bugs still would
diff --git a/ChangeLog b/ChangeLog
index d23f85f72906f7a8cab2d560af145da0c09ccfaf..e250032e7adf46ccf0a339d6cbf1db2b008962b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-08-10  Timo Ketola <timo@riihineva.no-ip.org>
+	* libvncclient/rfbproto.c: add missing else (so that GotRect
+	  handling overrides the default operation).
+
 2007-06-14  Karl Runge <runge@karlrunge.com>
 	* configure.ac: add a note on what you must do if you want to
 	  re-run autoconf from the LibVNCServer-X.Y.Z.tar.gz tarball.
diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c
index 01c80cae2e2549a40c43d62eb0e166eb9ea7f801..6e87f69a6a5cb09a103d560fdebf0c8f2fbcbe9b 100644
--- a/libvncclient/rfbproto.c
+++ b/libvncclient/rfbproto.c
@@ -1287,8 +1287,8 @@ HandleRFBServerMessage(rfbClient* client)
         if (client->GotCopyRect != NULL) {
           client->GotCopyRect(client, cr.srcX, cr.srcY, rect.r.w, rect.r.h,
               rect.r.x, rect.r.y);
-        }
-	CopyRectangleFromRectangle(client,
+        } else
+		CopyRectangleFromRectangle(client,
 				   cr.srcX, cr.srcY, rect.r.w, rect.r.h,
 				   rect.r.x, rect.r.y);