In this work, we are interested in improving constructive wireless network coding schemes, such as cOPE, in the presence of high loss rates. We propose an approach, I2NC, that combines inter-session and intra-session network coding and has two advantages. First, the error-correcting capabilities of intra-session network coding make our scheme resilient to loss. Second, redundancy allows intermediate nodes to operate without knowledge of the decoding buffers of their neighbors. Based only on the knowledge of average loss rates on the direct and overhearing links, intermediate nodes can make decisions for both intra-session (i.e., how much redundancy to add in each flow) and inter-session (i.e., what percentage of flows to code together) coding. Our approach is grounded on a network utility maximization formulation of the problem. We propose two practical schemes, I^2NC-state and I^2NC-stateless, that mimic the structure of the NUM optimal solution and implement the properties mentioned above. We also address the interaction of our approach with the transport layer. We demonstrate the benefits of our schemes compared to COPE, through simulation in GloMoSim.