We study the dynamics of cash-and-carry arbitrage using the U.S. crude oil market. Sizable arbitrage-related inventory movements occur at the NYMEX futures contract delivery point but not at other storage locations where, instead, operational factors explain most inventory changes. We add to the Theory of Storage literature by introducing two new features. First, due to arbitrageurs contracting ahead, inventories respond to not only contemporaneous but also lagged futures spreads. Second, storage capacity limits can impede cash-and-carry arbitrage, implying that apparent arbitrage opportunities are not exploitable and can persist. Our findings suggest that arbitrage-induced inventory movements are, on average, price stabilizing.