diff --git a/manager.c b/manager.c
index 6e4812e9c7ac30a657f619a38906f525d2b96708..11c671c48abde7deb0a9398b7b08a8103c78e8f7 100755
--- a/manager.c
+++ b/manager.c
@@ -87,6 +87,10 @@ static struct mansession *sessions = NULL;
 static struct manager_action *first_action = NULL;
 AST_MUTEX_DEFINE_STATIC(actionlock);
 
+/* If you are calling carefulwrite, it is assumed that you are calling
+   it on a file descriptor that _DOES_ have NONBLOCK set.  This way,
+   there is only one system call made to do a write, unless we actually
+   have a need to wait.  This way, we get better performance. */
 int ast_carefulwrite(int fd, char *s, int len, int timeoutms) 
 {
 	/* Try to write string, but wait no more than ms milliseconds
@@ -94,10 +98,6 @@ int ast_carefulwrite(int fd, char *s, int len, int timeoutms)
 	int res=0;
 	struct pollfd fds[1];
 	while(len) {
-		/* Wait until writable */
-		res = poll(fds, 1, timeoutms);
-		if (res < 1)
-			return -1;
 		res = write(fd, s, len);
 		if ((res < 0) && (errno != EAGAIN)) {
 			return -1;