diff --git a/controller/api/destination/watcher/workload_watcher.go b/controller/api/destination/watcher/workload_watcher.go index 17ecd153afde6..1d63ca614cb16 100644 --- a/controller/api/destination/watcher/workload_watcher.go +++ b/controller/api/destination/watcher/workload_watcher.go @@ -770,8 +770,10 @@ func (wp *workloadPublisher) updateExternalWorkload(externalWorkload *ext.Extern } // Compute opaque protocol. - if err := SetToServerProtocolExternalWorkload(wp.k8sAPI, &wp.addr); err != nil { - wp.log.Errorf("Error computing opaque protocol for externalworkload %s: %q", wp.addr.ExternalWorkload.GetName(), err) + if externalWorkload != nil { + if err := SetToServerProtocolExternalWorkload(wp.k8sAPI, &wp.addr); err != nil { + wp.log.Errorf("Error computing opaque protocol for externalworkload %s: %q", externalWorkload.GetName(), err) + } } for _, l := range wp.listeners {