diff --git a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
index 74051dac804e00791ac56df6d9aa307a1897f7ce..66473fef72a12ff99bdf7bb08d52cfdc4d2ddade 100644
--- a/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
+++ b/lib/modules/Protocols.pmod/X.pmod/Requests.pmod
@@ -308,12 +308,12 @@ class GetProperty
   int window;
   int property;
   int type;
-  int longOffset;
-  int longLength;
+  int longOffset = 0;
+  int longLength = 1024;
 
   string to_string()
   {
-    return build_request(sprintf("%4c%4c%4c" "4c%4c",
+    return build_request(sprintf("%4c%4c%4c" "%4c%4c",
 				 window, property, type,
 				 longOffset, longLength),
 			 delete);
@@ -342,7 +342,7 @@ class GetProperty
 	{
 	  m->data = allocate(length);
 	  for (int i = 0; i<length; i++)
-	    sscanf(reply->rest[24+4*i..27+2*i], "%4c", m->data[i]);
+	    sscanf(reply->rest[24+4*i..27+4*i], "%4c", m->data[i]);
 	  break;
 	}
       default: