fixed issue #27, 增加下canal的约束