This paper presents snlp+ebl, the first implementation of explanation based learning techniques for a partial order planner. We describe the basic learning framework of snlp+ebl, including regression, explanation propagation and rule generation. We then concentrate on snlp+ebl's ability to learn from failures and present a novel approach that uses stronger domain and planner specific consistency checks to detect, explain and learn from the failures of plansat depthlimits. We will end with an empirical evaluation of the efficacy of this approach in improving planning performance.