A new heuristic algorithm for the heterogeneous single container loading problem is proposed in this paper. This algorithm fills empty spaces with the homogeneous load-blocks of identically oriented boxes and splits residual space into three sub spaces starting with an empty container. An initial loading pattern is built by applying this approach recursively until all boxes are exhausted or no empty spaces are left. In order to generate alternative loading patterns, the load-blocks of pattern determining spaces are replaced with the alternatives that were generated on determining the load-blocks. An improvement algorithm compares these alternatives with the initial pattern to find improved one. Numerical experiments with 715 test cases show the good performance of this new algorithm, above all for problems with strongly heterogeneous boxes.