diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index b0a54443afe1c28aeecdc30ea8071877993a644e..9ca5a452ba6cb9b67889525b876ea6dbfafac16a 100755
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -584,6 +584,8 @@ static int phone_write(struct ast_channel *ast, struct ast_frame *frame)
 			expected=4;
 		} else {
 			res = phone_write_buf(p, pos, expected, maxfr);
+			if (res > 0)
+				res = 0;
 		}
 		if (res != expected) {
 			if (errno != EAGAIN) {