Railway crew scheduling deals with generating driver duties for a given train timetable such that all work regulations are met and the resulting schedule has minimal cost. Typical problem instances in the freight railway industry require the generation of duties for thousands of drivers operating tens of thousands of trains per week. Due to short runtime requirements, common solution approaches decompose the optimization problem into smaller subproblems that are solved separately. Several studies have shown that the way of decomposing the problem significantly affects the solution quality. An overall best decomposition strategy for a freight railway crew scheduling problem, though, is not known. In this paper, we present general considerations on when to assign two scheduled train movements to separate subproblems (and when to rather assign them to the same subproblem) and deduct a graph partitioning based decomposition algorithm with several variations. Using a set of real-world problem instances from a major European railway freight carrier, we evaluate our strategy and benchmark the performance of the decomposition algorithm both against a common non-decomposition algorithm and a lower bound on the optimal solution schedule. The test runs show that our decomposition algorithm is capable of producing highquality solution schedules while significantly cutting runtimes compared to the nondecomposition solution algorithm. We are following a "greenfield" approach, where no information on previous schedules is needed. Hence, our approach is applicable to any railway crew scheduling setting, including network enlargement, integration of new customers, etc.