diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateRequestMessage.java
index 7f9bfe3b4d1de386cf1e788bbe2224f832a0d06d..7fc63bb0fa17ceb2e8dfe6581ea098a4103617f4 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateRequestMessage.java
@@ -23,6 +23,7 @@ public class ChannelNegotiateRequestMessage extends MedtronicRequestMessage {
     }
 
     public ChannelNegotiateResponseMessage send(UsbHidDriver mDevice) throws IOException, TimeoutException, ChecksumException, EncryptionException {
+        sendMessage(mDevice);
 
         // Don't care what the 0x81 response message is at this stage
         Log.d(TAG, "negotiateChannel: Reading 0x81 message");
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateResponseMessage.java
index 13e261c9ebf63bb5fdcb19da000a4437a40af6ff..63d6fe6dff7b449b7b03867828f0cc62c384abb2 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/ChannelNegotiateResponseMessage.java
@@ -9,13 +9,13 @@ import info.nightscout.android.medtronic.exception.EncryptionException;
 /**
  * Created by lgoedhart on 27/03/2016.
  */
-public class ChannelNegotiateResponseMessage extends MedtronicResponseMessage {
+public class ChannelNegotiateResponseMessage extends ContourNextLinkBinaryResponseMessage {
     private static final String TAG = ChannelNegotiateResponseMessage.class.getSimpleName();
 
     private byte radioChannel = 0;
 
     protected ChannelNegotiateResponseMessage(MedtronicCnlSession pumpSession, byte[] payload) throws EncryptionException, ChecksumException {
-        super(pumpSession, payload);
+        super(payload);
 
         byte[] responseBytes = this.encode();
 
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionRequestMessage.java
index 7d85310f318af7fa76e0514b9d340b9deff1d5d9..c7a47bf7ff4e2568cb5938b3ce24a62d8bb33698 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionRequestMessage.java
@@ -20,7 +20,7 @@ public class CloseConnectionRequestMessage extends ContourNextLinkBinaryRequestM
     public CloseConnectionResponseMessage send(UsbHidDriver mDevice) throws IOException, TimeoutException, EncryptionException, ChecksumException {
         sendMessage(mDevice);
 
-        CloseConnectionResponseMessage response = new CloseConnectionResponseMessage(mPumpSession, readMessage(mDevice));
+        CloseConnectionResponseMessage response = new CloseConnectionResponseMessage(readMessage(mDevice));
 
         // FIXME - We need to care what the response message is - wrong MAC and all that
         return response;
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionResponseMessage.java
index 4155e8f537a60cbc3b20a702e6ab4042f404d8e8..d1d101e925945018f5b3d87b5a2215acf99cbb14 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/CloseConnectionResponseMessage.java
@@ -7,9 +7,9 @@ import info.nightscout.android.medtronic.exception.EncryptionException;
 /**
  * Created by lgoedhart on 10/05/2016.
  */
-public class CloseConnectionResponseMessage extends MedtronicResponseMessage {
-    protected CloseConnectionResponseMessage(MedtronicCnlSession pumpSession, byte[] payload) throws ChecksumException, EncryptionException {
-        super(pumpSession, payload);
+public class CloseConnectionResponseMessage extends ContourNextLinkBinaryResponseMessage {
+    protected CloseConnectionResponseMessage(byte[] payload) throws ChecksumException, EncryptionException {
+        super(payload);
     }
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionRequestMessage.java
index 054ef1c9ba7b96d7b7db2f839f9898ee60c6ae18..1218b76740b7c8700c0a760d49ea151ede8215fa 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionRequestMessage.java
@@ -20,7 +20,7 @@ public class OpenConnectionRequestMessage extends ContourNextLinkBinaryRequestMe
     public OpenConnectionResponseMessage send(UsbHidDriver mDevice) throws IOException, TimeoutException, EncryptionException, ChecksumException {
         sendMessage(mDevice);
 
-        OpenConnectionResponseMessage response = new OpenConnectionResponseMessage(mPumpSession, readMessage(mDevice));
+        OpenConnectionResponseMessage response = new OpenConnectionResponseMessage(readMessage(mDevice));
 
         // FIXME - We need to care what the response message is - wrong MAC and all that
         return response;
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionResponseMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionResponseMessage.java
index 32281826c2fa534f96d129f5bf3f688ba7c0a865..1f8e6df122f3efffe51a1a71a2f9a02e28e0407b 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionResponseMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/OpenConnectionResponseMessage.java
@@ -7,9 +7,9 @@ import info.nightscout.android.medtronic.exception.EncryptionException;
 /**
  * Created by lgoedhart on 10/05/2016.
  */
-public class OpenConnectionResponseMessage extends MedtronicResponseMessage {
-    protected OpenConnectionResponseMessage(MedtronicCnlSession pumpSession, byte[] payload) throws ChecksumException, EncryptionException {
-        super(pumpSession, payload);
+public class OpenConnectionResponseMessage extends ContourNextLinkBinaryResponseMessage {
+    protected OpenConnectionResponseMessage(byte[] payload) throws ChecksumException, EncryptionException {
+        super(payload);
     }
 
 }
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/PumpBasalPatternRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpBasalPatternRequestMessage.java
index 22ec2aa7773cdc648b2784b2764986c0714835e5..accdd14c18f771ef2dc36bdcb222c73c15aad1df 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/PumpBasalPatternRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpBasalPatternRequestMessage.java
@@ -17,6 +17,8 @@ public class PumpBasalPatternRequestMessage extends MedtronicRequestMessage {
     }
 
     public PumpBasalPatternResponseMessage send(UsbHidDriver mDevice) throws IOException, TimeoutException, ChecksumException, EncryptionException {
+        sendMessage(mDevice);
+
         // Read the 0x81
         readMessage(mDevice);
 
diff --git a/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
index c372b7d6c2e8e134586a641aa6762a9e34f37b80..45d36c680918af7061dd788e680876d73f617360 100644
--- a/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
+++ b/app/src/main/java/info/nightscout/android/medtronic/message/PumpTimeRequestMessage.java
@@ -17,6 +17,8 @@ public class PumpTimeRequestMessage extends MedtronicRequestMessage {
     }
 
     public PumpTimeResponseMessage send(UsbHidDriver mDevice) throws IOException, TimeoutException, ChecksumException, EncryptionException {
+        sendMessage(mDevice);
+
         // Read the 0x81
         readMessage(mDevice);