In this paper we consider colorings of graphs avoiding certain patterns on paths. Let X be a set of variables and let p = x 1 x 2 … x r , x i ∈ X , be a pattern, that is, any sequence of variables. A finite sequence s is said to match a pattern p if s may be divided into non-empty blocks s = B 1 B 2 … B r , such that x i = x j implies B i = B j , for all i , j = 1 , 2 , … , r . A coloring of vertices (or edges) of a graph G is said to be p - free if no path in G matches a pattern p . The pattern chromatic number π p ( G ) is the minimum number of colors used in a p -free coloring of G . Extending the result of Alon et al. [Non-repetitive colorings of graphs, Random Struct. Alg. 21 (2002) 336–346] we prove that if each variable occurs in a pattern p at least m ⩾ 2 times then π p ( G ) ⩽ c Δ m / ( m - 1 ) , where c is an absolute constant. The proof is probabilistic and uses the Lovász Local Lemma. We also provide some explicit p -free colorings giving stronger estimates for some simple classes of graphs. In particular, for some patterns p we show that π p ( T ) is absolutely bounded by a constant depending only on p , for all trees T .