In this paper, we study the Byzantine lattice agreement problem in synchronous distributed message passing systems. The lattice agreement problem [2] in crash failure model has been studied both in synchronous and asynchronous systems [2,10,24,23], which leads to the current best upper bound of O(log f ) rounds both in synchronous and asynchronous systems. Its applications in building linearizable replicated state machines has also been further explored recently in [10,20,23]. However, very few algorithmic results are known for the lattice agreement problem in Byzantine failure model. The paper [18] first gives an algorithm for a variant of the lattice agreement problem on cycle-free lattices that tolerates up to f < n/(h(X) + 1) Byzantine faults, where n is the number of processes and h(X) is the height of the input lattice X. The recent preprint [8] studies this problem in asynchronous systems and slightly modifies the validity condition of the original lattice agreement problem [2] in order to accommodate extra values sent from Byzantine processes. They present a O(f ) rounds algorithm by using the reliable broadcast primitive as a first step and following the similar algorithmic framework as in [10,24].In this paper, we propose two algorithms for the Byzantine lattice agreement problem in synchronous systems. The first algorithm runs in min{3h(X) + 6, 6 √ f + 6}) rounds and takes O(n 2 min{h(X), √ f }) messages, where h(X) is the height of the input lattice X, n is the total number of processes in the system and f is the maximum number of Byzantine processes such that n ≥ 3f + 1. The second algorithm takes log n + 1 rounds and O(n 2 log n) messages. In both our algorithms, we apply a slightly modified version of the Gradecast algorithm [11] as a building block.