diff --git a/apps/app_zapras.c b/apps/app_zapras.c
index 69900ea442b69b90beec4666b9acad317678c2ab..faed71565e60963acc853c709bf776fa00bb9f0d 100755
--- a/apps/app_zapras.c
+++ b/apps/app_zapras.c
@@ -130,8 +130,14 @@ static void run_ras(struct ast_channel *chan, char *args)
 	int status;
 	int res;
 	int signalled = 0;
-	struct zt_bufferinfo bi;
+	struct zt_bufferinfo savebi;
 	int x;
+	
+	res = ioctl(chan->fds[0], ZT_GET_BUFINFO, &savebi);
+	if(res) {
+		ast_log(LOG_WARNING, "Unable to check buffer policy on channel %s\n", chan->name);
+		return;
+	}
 
 	pid = spawn_ras(chan, args);
 	if (pid < 0) {
@@ -167,20 +173,11 @@ static void run_ras(struct ast_channel *chan, char *args)
 			x = 1;
 			ioctl(chan->fds[0], ZT_AUDIOMODE, &x);
 
-			/* Double check buffering too */
-			res = ioctl(chan->fds[0], ZT_GET_BUFINFO, &bi);
-			if (!res) {
-				/* XXX This is ZAP_BLOCKSIZE XXX */
-				bi.bufsize = 204;
-				bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
-				bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
-				bi.numbufs = 4;
-				res = ioctl(chan->fds[0], ZT_SET_BUFINFO, &bi);
-				if (res < 0) {
-					ast_log(LOG_WARNING, "Unable to set buffer policy on channel %s\n", chan->name);
-				}
-			} else
-				ast_log(LOG_WARNING, "Unable to check buffer policy on channel %s\n", chan->name);
+			/* Restore saved values */
+			res = ioctl(chan->fds[0], ZT_SET_BUFINFO, &savebi);
+			if (res < 0) {
+				ast_log(LOG_WARNING, "Unable to set buffer policy on channel %s\n", chan->name);
+			}
 			break;
 		}
 	}