filters with :only and controller inheritance

Not sure if this is a bug, or what the correct behaviour should be.
Suppose that we have a parent and an inherited controller:

class TestController < ApplicationController

  def filter
    logger.debug "filter"
  end

  before_filter :filter, :only => [ :t1 ]

  def t1
    logger.debug "TestController t1"
    render :text => 't1'
  end

end

class TestChildController < TestController

  before_filter :filter, :only => [ :t3 ] # oops what should this do?

  def t3
    logger.debug "TestChildController t3"
    render :text => "t3"
  end

end

The idea here is that the child controller might want to reuse the
filter for its new 't3' action.

What happens though is rather unexpected:

Processing TestChildController#t1 (for 127.0.0.1 at 2007-08-06
20:09:13) [GET]
  Session ID: 082b6fa688bac1b0b70baa770b5754ba
  Parameters: {"action"=>"t1", "controller"=>"test_child"}
TestController t1 <<<<<<<<<<<<<<<< filter not called
Completed in 0.00010 (10000 reqs/sec) | Rendering: 0.00000 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/test_child/t1]

Processing TestChildController#t3 (for 127.0.0.1 at 2007-08-06
20:09:21) [GET]
  Session ID: 082b6fa688bac1b0b70baa770b5754ba
  Parameters: {"action"=>"t3", "controller"=>"test_child"}
filter
filter <<<<<<<<<<<<<<<< why called twice?
TestChildController t3
Completed in 0.00010 (10000 reqs/sec) | Rendering: 0.00000 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/test_child/t3]

One would expect that either the new :only overrides the previous one
and only t3 invokes the filter (sensical but not convenient) or the
new :only just adds the filter to t3 and keeps the filter on t1. Or is
using :only here inherently bad?

Thanks!

Jaime Cham