diff --git a/net/net.c b/net/net.c
index 266b953..f6afb64 100644
--- a/net/net.c
+++ b/net/net.c
@@ -215,6 +215,7 @@
 
 /* Current RX packet handler */
 static rxhand_f *packetHandler;
+static rxhand_icmp_f *packet_icmp_handler;	/* Current ICMP rx handler */
 /* Current timeout handler */
 static thand_f *timeHandler;
 /* Time base value */
@@ -344,6 +345,7 @@
 NetLoop(proto_t protocol)
 {
 	bd_t *bd = gd->bd;
+	int ret = -1;
 
 	NetRestarted = 0;
 	NetDevExists = 0;
@@ -512,7 +514,7 @@
 		if (ctrlc()) {
 			eth_halt();
 			puts("\nAbort\n");
-			return -1;
+			goto done;
 		}
 
 		ArpTimeoutCheck();
@@ -564,12 +566,19 @@
 				setenv("fileaddr", buf);
 			}
 			eth_halt();
-			return NetBootFileXferSize;
+			ret = NetBootFileXferSize;
+			goto done;
 
 		case NETLOOP_FAIL:
-			return -1;
+			goto done;
 		}
 	}
+
+done:
+	/* Clear out the handlers */
+	NetSetHandler(NULL);
+	net_set_icmp_handler(NULL);
+	return ret;
 }
 
 /**********************************************************************/
@@ -643,6 +652,10 @@
 	packetHandler = f;
 }
 
+void net_set_icmp_handler(rxhand_icmp_f *f)
+{
+	packet_icmp_handler = f;
+}
 
 void
 NetSetTimeout(ulong iv, thand_f *f)
@@ -1383,6 +1396,10 @@
 		break;
 #endif
 	default:
+		if (packet_icmp_handler)
+			packet_icmp_handler(icmph->type, icmph->code,
+				ntohs(ip->udp_dst), src_ip, ntohs(ip->udp_src),
+				icmph->un.data, ntohs(ip->udp_len));
 		break;
 	}
 }
@@ -1671,6 +1688,10 @@
 		 * subnet. So this is probably a warning that your
 		 * configuration might be wrong. But I'm not really
 		 * sure if there aren't any other situations.
+		 *
+		 * Simon Glass <sjg@chromium.org>: We get an ICMP when
+		 * we send a tftp packet to a dead connection, or when
+		 * there is no server at the other end.
 		 */
 		if (ip->ip_p == IPPROTO_ICMP) {
 			receive_icmp(ip, len, src_ip, et);
