We present a substantially more efficient variant, both in terms of running time and size of preprocessing advice, of the algorithm by Liu, Lyubashevsky, and Micciancio [LLM06] for solving CVPP (the preprocessing version of the Closest Vector Problem, CVP) with a distance guarantee. For instance, for any α < 1/2, our algorithm finds the (unique) closest lattice point for any target point whose distance from the lattice is at most α times the length of the shortest nonzero lattice vector, requires as preprocessing advice only N ≈ O(n exp(α 2 n/(1 − 2α) 2 )) vectors, and runs in time O(nN).As our second main contribution, we present reductions showing that it suffices to solve CVP, both in its plain and preprocessing versions, when the input target point is within some bounded distance of the lattice. The reductions are based on ideas due to Kannan [Kan87] and a recent sparsification technique [DK13]. Combining our reductions with the LLM algorithm gives an approximation factor of O(n/ log n) for search CVPP, improving on the previous best of O(n 1.5 ) due to Lagarias, Lenstra, and Schnorr [LLS90]. When combined with our improved algorithm we obtain, somewhat surprisingly, that only O(n) vectors of preprocessing advice are sufficient to solve CVPP with (the only slightly worse) approximation factor of O(n).