Box2D Elevator with Prismatic Joint

Lifting block with prismatic joint (b2PrismaticJointDef) on upper point gives impulse to the dynamic body that lays on lifting block surface even if lifting block doesn't move at all.

HTML

<script src="http://box2dweb.googlecode.com/svn/trunk/Box2d.min.js"></script>
<canvas id="playground" width="400" height="300" ></canvas>
<div>
    <b>Strange Box2D Lifting block on Prismatic Joint</b>
    <p>Lifting block on prismatic joint (b2PrismaticJointDef) on upper point gives impulse to the dynamic body that lays on lifting block surface even if lifting block doesn't move at all.</p>        
</div>

JavaScript

var b2Vec2 = Box2D.Common.Math.b2Vec2,
    b2BodyDef = Box2D.Dynamics.b2BodyDef,
    b2Body = Box2D.Dynamics.b2Body,
    b2FixtureDef = Box2D.Dynamics.b2FixtureDef,
    b2World = Box2D.Dynamics.b2World,
    b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape,
    b2CircleShape = Box2D.Collision.Shapes.b2CircleShape,          
    b2DebugDraw = Box2D.Dynamics.b2DebugDraw,
    b2PrismaticJointDef = Box2D.Dynamics.Joints.b2PrismaticJointDef;

(function() {    
    var world = buildWorld();
    
    var leftBlock = buildBlock({world: world, x: 2, y: 8, width: 2, height: 12, static: true});
    var rightBlock = buildBlock({world: world, x: 12, y: 8, width: 2, height: 12, static: true});
    var bottomBlock = buildBlock({world: world, x: 7, y: 13, width: 8, height: 2, static: false});
    var box = buildBlock({world: world, x: 7, y: 10, width: 2, height: 2, static: false});
    
    var joint = buildPrismaticJoint({world: world, 
                                     anchorA: new b2Vec2(7, 13), 
                                     axis: new b2Vec2(0, 1), 
                                     bodyA: bottomBlock, 
                                     bodyB: world.GetGroundBody()});
    
    var debugDraw = buildDebugDraw(world);
    
    setInterval(function(){
        world.Step(1 / 60, 10, 10);
        world.DrawDebugData();
        world.ClearForces();
    },1000/60);
})();

function buildWorld() {    
    return new b2World(
        new b2Vec2(0, 10), //gravity vector
        true
    );
}

function buildBlock(state) {
    var fixDef = new b2FixtureDef;
    fixDef.shape = new b2PolygonShape;
    fixDef.density = 1.0;
    fixDef.friction = 0.5;
    fixDef.restitution = .5;         
    fixDef.shape.SetAsBox(state.width / 2, state.height / 2);
    var bodyDef = new b2BodyDef;
    bodyDef.type = state.static?b2Body.b2_staticBody:b2Body.b2_dynamicBody;
    bodyDef.position.Set(state.x, state.y);
    var body = state.world.CreateBody(bodyDef);
   ...