CollisionHandlerPusher with CollisionTube

Does CollisionHandlerPusher work with CollisionTube?
In the following example it doesn’t, while CollisionSphere does:

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.showbase.DirectObject import DirectObject
import sys

base.cTrav = CollisionTraverser()
pusher = CollisionHandlerPusher()

class Into():
    def __init__(self):
        self.intoNode = render.attachNewNode('intoNode')
        self.intoNode.setPos(0, 0, 0)
        self.intoColNode = CollisionNode('intoColNode')
        self.intoColNode.addSolid(CollisionSphere(0, 0, 0, 1))
        self.intoColNP = self.intoNode.attachNewNode(self.intoColNode)
        self.intoColNP.show()

class From(DirectObject):
    def __init__(self):
        self.fromNode = render.attachNewNode('fromNode')
        self.fromNode.setPos(0, -5, 0)

        self.fromColNode = CollisionNode('fromColNode')
        # Use CollisionSphere:
        #self.fromColNode.addSolid(CollisionSphere(0, 0, 0, 1))
        # Use CollisionTube:
        self.fromColNode.addSolid(CollisionTube(-1, 0, 0, 1, 0, 0, 1))
        self.fromColNP = self.fromNode.attachNewNode(self.fromColNode)
        self.fromColNP.show()

        base.cTrav.addCollider(self.fromColNP, pusher)
        pusher.addCollider(self.fromColNP, self.fromNode)

        self.defineMovements()

    def defineMovements(self):
        '''Create keymap for moving the From object,
        and accept events.'''
        self.keyMap = {"forward" : 0,
                      "backward" : 0}
        self.accept("w", self.forward)
        self.accept("w-repeat", self.forward)
        self.accept("s", self.backward)
        self.accept("s-repeat", self.backward)
        self.accept("escape", sys.exit)

    def forward(self):
        self.fromNode.setPos(self.fromNode, 0, 0.1, 0)
        print "Forward"
    def backward(self):
        self.fromNode.setPos(self.fromNode, 0, -0.1, 0)
        print "Backward"

base.cam.setPos(0, 0, 20)
base.cam.lookAt(0, 0, 0)

intoO = Into()
fromO = From()

run()

No. From the manual:

and:

David

Ok, I got it. Thank you, David!