                 board[rook][new] = true
             }
         }
-        _moveHistory.append((move, piece, capture, attackersToKing, halfmoves, rights))
+        _moveHistory.append((move, piece, capture, enPassantTarget, attackersToKing, halfmoves, rights))
         if let capture = capture {
             board[capture][captureSquare] = false
         }

    private var _moveHistory: [(move: Move,
                                piece: Piece,
                                capture: Piece?,
                                kingAttackers: Bitboard,
                                halfmoves: UInt,
                                rights: CastlingRights)]

    public private(set) var halfmoves: UInt

    /// The target move location for an en passant.
    public private(set) var enPassantTarget: Square?

    /// The captured piece for the last move.
    public var captureForLastMove: Piece? {
