diff --git a/app/src/main/java/de/ccc/events/badge/card10/filetransfer/BatchTransferFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/filetransfer/BatchTransferFragment.kt
index c1503eaa04ca5d090707a9a63a479c11372dabfb..946f5932fe6b5936b2337ba299d7135657681864 100644
--- a/app/src/main/java/de/ccc/events/badge/card10/filetransfer/BatchTransferFragment.kt
+++ b/app/src/main/java/de/ccc/events/badge/card10/filetransfer/BatchTransferFragment.kt
@@ -61,8 +61,7 @@ class BatchTransferFragment : Fragment(), FileTransferListener, GattListener {
         progress.max = 5
 
         button_cancel.setOnClickListener {
-//            isCancelled = true
-            startTransfer()
+            isCancelled = true
         }
 
         button_done.setOnClickListener {
@@ -78,6 +77,7 @@ class BatchTransferFragment : Fragment(), FileTransferListener, GattListener {
 
     private fun initConnection() {
         val ctx = context ?: throw IllegalStateException()
+        ConnectionService.addGattListener(this)
         ConnectionService.connect(ctx)
     }
 
@@ -115,6 +115,7 @@ class BatchTransferFragment : Fragment(), FileTransferListener, GattListener {
             val reader = ChunkedReader(ctx, transferJob.sourceUri, ConnectionService.mtu)
             val service = ConnectionService.leService ?: throw IllegalStateException()
             transfer = FileTransfer(service, reader,this, transferJob.destPath)
+            transfer?.start()
         } catch (e: Exception) {
             Log.e(TAG, "Failed to initialize transfer")
             return