diff --git a/exec/load/cvslib.js b/exec/load/cvslib.js
index 25764432d367a38be5e6bea10ab717bf645fb2c8..5326bbf597ab2f69987113434b6d1bd21ddd3501 100644
--- a/exec/load/cvslib.js
+++ b/exec/load/cvslib.js
@@ -192,15 +192,73 @@ CVS = new (function () {
 		this.socket.send(cmdstr + "\n");
 	}
 	
-	/* check for a response from the cvs server */
+	/*
+	 * check for a response from the cvs server 
+	 * This will handle whatever it can, and return
+	 * only unhandled responses.
+	 * 
+	 * While it "handles" error, it still returns it.
+	 */
+	
 	this.response getter = function() {
-		this.verifyConnection();
-		if(this.socket.poll(1))
-			return this.socket.recvline(4096,10);
-		else
-			return undefined;
+		for(;;) {
+			this.verifyConnection();
+			if(!this.socket.poll(1))
+				return undefined;
+			var response=this.socket.recvline(4096,10);
+			var space=response.indexOf(' ');
+			if(space < 1)
+				return response;
+			var cmd=response.slice(0, space-1)
+			switch(cmd) {
+				case 'M':
+					log(LOG_INFO, response.substr(space+1));
+					if(js.global.writeln)
+						writeln(response.substr(space+1));
+					break;
+				case 'MT':
+					var m=response.split(' ',3);
+					switch(m[1]) {
+						case 'newline':
+							if(js.global.writeln)
+								writeln('');
+							break;
+						case 'text':
+							log(LOG_INFO, m[2]);
+							if(js.global.write)
+								write(m[2]);
+							break;
+						default:
+							if(m.length > 2) {
+								log(LOG_INFO, m[2]);
+								if(js.global.write)
+									write(m[2]);
+							}
+							break;
+					}
+					break;
+				case 'E':
+					log(LOG_ERR, response.substr(space+1));
+					if(js.global.writeln)
+						writeln(response.substr(space+1));
+					break;
+				case 'F':
+					break;
+				case 'error':
+					var m=response.split(' ',3);
+					if(m[1].length > 0) {
+						log(LOG_ERR, "ERROR "+m[1]+" - "+m[2]);
+					}
+					else {
+						log(LOG_ERR, "ERROR - "+m[2]);
+					}
+					return response;
+				default:
+					return response;
+			}
+		}
 	}
-	
+
 	/* verify that socket is connected to the server */
 	this.verifyConnection = function() {
 		if(!this.socket || !this.socket.is_connected) {