Yes, I switched the order the second time, sorry for my mistake! 
My criterion is the MSELoss wich I use to compute the loss with the chained model output.
It seems to be working allwright so far!
criterion = nn.MSELoss()