diff --git a/pkg/extension/service/extension.go b/pkg/extension/service/extension.go
index a89eba65db08ce25f455dfb15e3f803e24af79de..47d5029d851498182b236acaaea84aa825a8aa32 100644
--- a/pkg/extension/service/extension.go
+++ b/pkg/extension/service/extension.go
@@ -181,7 +181,11 @@ func (s *Extension) Action(ctx context.Context, in *extension.ActionRequest) (*e
 	//	return nil, errors.New("extension not installed")
 	//}
 
-	if s.router == nil {
+	if url, err := extension.NewActionURL(in.Action); s.router != nil && err == nil && url != nil && s.isCorrectExtension(ctx, url, in) {
+		if h, err := s.router(ctx, url, in); err == nil && h != nil {
+			return h(ctx, url, in)
+		}
+	}
 		url, err := extension.NewActionURL(in.Action)
 		if err == nil && url != nil && s.isCorrectExtension(ctx, url, in) {
 			if h, err := s.router(ctx, url, in); err == nil && h != nil {