A picture coding method for coding a current block included in a current picture in direct mode, the picture coding method comprising: specifying a co-located block which is a block included in a second picture that is different from the current picture, the co-located block being located in the second picture at the same position that the current block is located in the current picture; determining a first motion vector and a second motion vector of the current block for performing motion compensation on the current block, using a third motion vector which is a motion vector of the co-located block; generating a first predictive image of the current block using the first motion vector of the current block and a second predictive image of the current block using the second motion vector of the current block; generating a predictive image of the current block based on the first predictive image and the second predictive image; generating a difference image of the current block between the current block and the predictive image of the current block; and coding the difference image of the current block to obtain coded data of the current block, characterized in that the co-located block is motion-compensated using a first motion vector corresponding to a first reference picture of the co-located block and a second motion vector corresponding to a second reference picture of the co-located block, and in the case where the first and second reference pictures of the co-located block are both stored in a long-term picture buffer, (i) the third motion vector is determined to be equal to one of the first and second motion vectors of the co-located block, and (ii) the first motion vector of the current block is determined to be equal to the third motion vector, and (iii) the second motion vector of the current block is determined to be equal to a value of 0. specifying a co-located block which is a block included in a second picture that is different from the current picture, the co-located block being located in the second picture at the same position that the current block is located in the current picture; determining a first motion vector and a second motion vector of the current block for performing motion compensation on the current block, using a third motion vector which is a motion vector of the co-located block; generating a first predictive image of the current block using the first motion vector of the current block and a second predictive image of the current block using the second motion vector of the current block; generating a predictive image of the current block based on the first predictive image and the second predictive image; generating a difference image of the current block between the current block and the predictive image of the current block; and coding the difference image of the current block to obtain coded data of the current block, characterized in that the co-located block is motion-compensated using a first motion vector corresponding to a first reference picture of the co-located block and a second motion vector corresponding to a second reference picture of the co-located block, and in the case where the first and second reference pictures of the co-located block are both stored in a long-term picture buffer, (i) the third motion vector is determined to be equal to one of the first and second motion vectors of the co-located block, and (ii) the first motion vector of the current block is determined to be equal to the third motion vector, and (iii) the second motion vector of the current block is determined to be equal to a value of 0.