diff --git a/briar-core/src/net/sf/briar/plugins/modem/ModemImpl.java b/briar-core/src/net/sf/briar/plugins/modem/ModemImpl.java
index 633ac118121e021859692ab38f07bc02a4c48119..42fd67270689e2da09f6132ca9ced6ca1c34c697 100644
--- a/briar-core/src/net/sf/briar/plugins/modem/ModemImpl.java
+++ b/briar-core/src/net/sf/briar/plugins/modem/ModemImpl.java
@@ -91,6 +91,8 @@ class ModemImpl implements Modem, WriteHandler, SerialPortEventListener {
 	}
 
 	public void stop() throws IOException {
+		if(offHook.tryAcquire()) offHook.release();
+		else hangUp();
 		try {
 			port.closePort();
 		} catch(SerialPortException e) {