diff --git a/engine/engine.go b/engine/engine.go index dc1984ccb5..6f80e54b7e 100644 --- a/engine/engine.go +++ b/engine/engine.go @@ -118,13 +118,12 @@ func (eng *Engine) Job(name string, args ...string) *Job { if eng.Logging { job.Stderr.Add(utils.NopWriteCloser(eng.Stderr)) } - if eng.catchall != nil { + + // Catchall is shadowed by specific Register. + if handler, exists := eng.handlers[name]; exists { + job.handler = handler + } else if eng.catchall != nil { job.handler = eng.catchall - } else { - handler, exists := eng.handlers[name] - if exists { - job.handler = handler - } } return job }