In this paper, we investigate a scheduler for a multipath transmission control protocol (MPTCP) for bandwidth aggregation in heterogeneous wireless environments. The performance of the MPTCP can be degraded due to the head-of-line (HOL) blocking caused by path heterogeneity, when a buffer size is limited. This performance degradation can be overcome by a careful design of a scheduler, which has a role of allocating each data segment to one of subflows. We derive the theoretical limit of the achievable aggregate throughput and show that the optimality is achieved when the load is balanced between subflows. Based on the analysis, we propose the optimal load balancing (OLB) scheduler that approximately achieves the theoretical throughput limit. By simulations and experiments, we show that the proposed OLB scheduler outperforms the default scheduler of the Linux MPTCP implementation.