A modified flow-shop scheduling problem for a production system, characterized by parts machining followed by their subsequent assembly (joining) operation, is studied. Several products of different kinds are ordered. Each part for the products is processed on machine M 1 (the first stage) and then processed on machine M 2 (the second stage). Each product is processed (e.g., joined) with the parts by one assembly operation on assembly stage M A (the third stage). The objective function to be minimized is the weighted sum of product completion times. The decision variables are the sequence of products to be assembled and the sequence of parts to be processed. In this paper, we assume that if product h is assembled before product h ′, then, on each machine, processing of any part for product h ′ is done after processing of all parts for product h is completed. We call this assumption “Assumption B(2)” and call this problem “SP constrained”. An efficient solution procedure using a branch and bound method is developed based on this assumption, where Johnson's algorithm is used as a part of the solution procedure. Computational experiments are provided to evaluate the performance of the solution procedure. It has been found that the proposed solution procedure is effective to obtain an optimal or ε-optimal solution for larger-scaled problems. We further compare the optimal value for SP constrained with the optimal value for another problem SP unconstrained defined without Assumption B(2); the optimal solution for SP unconstrained being significantly more difficult to obtain. We offer three propositions to analyze some special cases in which the difference between the optimal value of SP constrained and the optimal value of SP unconstrained is zero. For general cases, we make some computational experiments to evaluate the difference between the optimal value of SP constrained and the optimal value of SP unconstrained. It has been found that the difference is very small.