diff --git a/briar-core/src/net/sf/briar/plugins/modem/Sender.java b/briar-core/src/net/sf/briar/plugins/modem/Sender.java
index 4c9018db52ca2759e2f3661139178d7806b449a3..3bf2c75f5bd8095ef54b34d8598e0c9bc1fa4407 100644
--- a/briar-core/src/net/sf/briar/plugins/modem/Sender.java
+++ b/briar-core/src/net/sf/briar/plugins/modem/Sender.java
@@ -43,7 +43,7 @@ class Sender {
 		writeHandler.handleWrite(a.getBuffer());
 	}
 
-	void handleAck(byte[] b) {
+	void handleAck(byte[] b) throws IOException {
 		if(b.length != Ack.LENGTH) {
 			// Ignore ack frame with invalid length
 			return;
@@ -95,15 +95,8 @@ class Sender {
 			if(windowSize > oldWindowSize || foundIndex != -1) notifyAll();
 		}
 		// Fast retransmission
-		if(fastRetransmit != null) {
-			Data d = fastRetransmit.data;
-			try {
-				writeHandler.handleWrite(d.getBuffer());
-			} catch(IOException e) {
-				// FIXME: Do something more meaningful
-				if(LOG.isLoggable(WARNING)) LOG.log(WARNING, e.toString(), e);
-			}
-		}
+		if(fastRetransmit != null)
+			writeHandler.handleWrite(fastRetransmit.data.getBuffer());
 	}
 
 	void tick() {