diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index df2ce371eb960af509162b46ed9ec557eba12c4e..61391a7fb1345006cac18db932387d4def4cd82c 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -3199,6 +3199,9 @@ static void *do_monitor(void *data)
 			if (option_verbose > 0)
 				ast_verbose(VERBOSE_PREFIX_1 "Reloading MGCP\n");
 			mgcp_do_reload();
+			/* Add an I/O event to our UDP socket */
+			if (mgcpsock > -1) 
+				mgcpsock_read_id = ast_io_add(io, mgcpsock, mgcpsock_read, AST_IO_IN, NULL);
 		}
 
         /* Check for interfaces needing to be killed */