The present study empirically investigates market efficiency and the potential factors of inefficiency in the main non-energy commodity futures markets: maize, soybeans and wheat. With efficient markets, futures prices can be used as commodity price forecasts, with inefficient markets futures prices are not able to predict spot prices. Technically, exploring the drivers of inefficiency means to assess the determinants of forecast errors, i.e. the factors affecting the difference between realized spot prices and predicted future spot prices. The analysis is carried out using first a traditional test of efficiency for spot and futures prices and then implementing a more sophisticated GARCH analysis at a daily and weekly frequency. The results show that maize, soybeans and wheat markets are not informationally efficient. The realized price volatility of futures markets, the time to maturity, open interest, trading volumes and speculative measures are significant factors explaining forecast errors. In particular, short-term speculation (scalping activity) increases the noise in the information formation process. Similarly, price volatility, lack of liquidity and long contract maturity horizon raise forecast errors, while long-term speculation and speculative pressure reduce errors. The analysis suggests that knowing the causes of forecast errors, would allow to control for such factors and therefore to ameliorate the forecast accuracy of commodity prices.