diff --git a/app.go b/app.go
index <HASH>..<HASH> 100644
--- a/app.go
+++ b/app.go
@@ -342,16 +342,8 @@ func (app *App) start(ctx context.Context) error {
 }
 
 func withTimeout(ctx context.Context, f func(context.Context) error) error {
-	stop := make(chan struct{})
-	defer close(stop)
-
-	c := make(chan error)
-	go func() {
-		select {
-		case <-stop:
-		case c <- f(ctx):
-		}
-	}()
+	c := make(chan error, 1)
+	go func() { c <- f(ctx) }()
 
 	select {
 	case <-ctx.Done():
Trim timeout function (#<I>)

Timeout function is over engineered.