diff --git a/lib/modules/Thread.pmod b/lib/modules/Thread.pmod
index aa1059408eafc81b3bb5fc21f95cea1097b850db..5aabf6536eeb14355daee270df6649f7d17f439a 100644
--- a/lib/modules/Thread.pmod
+++ b/lib/modules/Thread.pmod
@@ -342,7 +342,7 @@ optional class Queue {
 	break;
 
       default:
-	ret = buffer[r_ptr..w_ptr];
+	ret = buffer[r_ptr..w_ptr-1];
 	r_ptr = w_ptr = 0;
 	buffer=allocate(sizeof(buffer)); // Throw away any references.
 	break;
@@ -902,7 +902,7 @@ optional class Queue
 	break;
 
       default:
-	ret = buffer[r_ptr..w_ptr];
+	ret = buffer[r_ptr..w_ptr-1];
 	r_ptr = w_ptr = 0;
 	buffer=allocate(sizeof(buffer)); // Throw away any references.
 	break;