diff --git a/testutils/channel_opts.go b/testutils/channel_opts.go
index <HASH>..<HASH> 100644
--- a/testutils/channel_opts.go
+++ b/testutils/channel_opts.go
@@ -76,6 +76,15 @@ type LogFilter struct {
 	FieldFilters map[string]string
 }
 
+// Copy copies the channel options (so that they can be safely modified).
+func (o *ChannelOpts) Copy() *ChannelOpts {
+	if o == nil {
+		return NewOpts()
+	}
+	copiedOpts := *o
+	return &copiedOpts
+}
+
 // SetServiceName sets ServiceName.
 func (o *ChannelOpts) SetServiceName(svcName string) *ChannelOpts {
 	o.ServiceName = svcName
diff --git a/testutils/channel_t.go b/testutils/channel_t.go
index <HASH>..<HASH> 100644
--- a/testutils/channel_t.go
+++ b/testutils/channel_t.go
@@ -28,9 +28,7 @@ import (
 )
 
 func getOptsForTest(t testing.TB, opts *ChannelOpts) *ChannelOpts {
-	if opts == nil {
-		opts = &ChannelOpts{}
-	}
+	opts = opts.Copy()
 	opts.optFn = func(opts *ChannelOpts) {
 		// Set a custom logger now.
 		if opts.Logger == nil {
Add a Copy method to testutils.ChannelOpts