diff --git a/protocol/protocolwrapper/protocol_filter_wrapper.go b/protocol/protocolwrapper/protocol_filter_wrapper.go
index af64f8a922e4403dd1cb593db8ef5f9270ab3e6b..4b2702b99f9793d4e567de65bd9555fb20381b1d 100644
--- a/protocol/protocolwrapper/protocol_filter_wrapper.go
+++ b/protocol/protocolwrapper/protocol_filter_wrapper.go
@@ -69,6 +69,9 @@ func (pfw *ProtocolFilterWrapper) Destroy() {
 
 func buildInvokerChain(invoker protocol.Invoker, key string) protocol.Invoker {
 	filterName := invoker.GetUrl().GetParam(key, "")
+	if filterName == "" {
+		return invoker
+	}
 	filterNames := strings.Split(filterName, ",")
 
 	// The order of filters is from left to right, so loading from right to left