diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f262edf63351ca1a6997c5820de298f86552cfe4..f4929fb91f89eb3dfea28a781ed1fbfd791fe82b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -104,7 +104,8 @@ bindings-ios:
   tags:
     - ios
   script:
-    - export PATH=$PATH:$HOME/go/bin
+    - export PATH=/opt/homebrew/bin:$PATH:$HOME/go/bin
+    - mc --version
     - go mod tidy
     - rm -rf vendor/
     - go build ./...
diff --git a/bindings/single.go b/bindings/single.go
index 9c2201ab3ce82514cf1122059eaef780b4c23f5a..bebd9024c6abe8572782c8a96b9d9638860a7b96 100644
--- a/bindings/single.go
+++ b/bindings/single.go
@@ -255,9 +255,15 @@ func (sr singleUseResponse) Callback(payload []byte,
 	for _, r := range rounds {
 		rids = append(rids, r.ID)
 	}
+	// If the callback get's called on a timed out request, the rounds list will be
+	// empty. In this case, roundURL should be empty as well.
+	roundURL := ""
+	if len(rids) > 0 {
+		roundURL = getRoundURL(rids[0])
+	}
 	sendReport := SingleUseResponseReport{
 		RoundsList:  makeRoundsList(rids...),
-		RoundURL:    getRoundURL(rids[0]),
+		RoundURL:    roundURL,
 		ReceptionID: receptionID.Source,
 		EphID:       receptionID.EphId.Int64(),
 		Payload:     payload,