Hi guys, The template layout is bound to the current application. This makes it useful only if you change applications. In the following example switching layouts will work: # ==== File A.pm ==== package A; use Dancer ':syntax'; layout 'main'; get '/' => sub { template 'index' }; load_app 'A::B'; true; # ==== File A/B.pm ==== package A::B; use Dancer ':syntax'; layout 'users'; get '/users' => sub { template 'users_index' }; true; The following is an example where switching layouts will NOT work: # ==== File C.pm ==== package C; use Dancer ':syntax'; layout 'main'; get '/' => sub { template 'index' }; layout 'users'; get '/users' => sub { template 'users_index' }; true; In the above situation the layout won't get changed. I think the layout setting should be bound to each route. When a new route registers it should know what layout was selected last. I think it will make more sense this way. Regards, Nick aka minimalist