Fairly allocating bandwidth to application sessions (flows) is difficult in Wireless Mesh Networks due to dynamics of wireless channel capacity and contention between flows on different nodes. Different scheduling algorithms have been applied to improve fairness in various scenarios. In this paper we propose a flow-based fairness scheme where a node determines its probability to send based on its flow requirements, and requirements of neighbor nodes. We propose novel methods for calculating this probability and distributing requirements to neighbors. Analysis shows our scheme can improve fairness, maintain high throughput, but at the expense of increased delay.