Noticed that when you set a context variable to a window, and then you search for another record using the same window, that setted variable (related to previous record) stays there. And it shouldn't.
How to reproduce:
1) Create sales order A (price list X)
2) Create sales order B (price list Z)
1) Open sales order A and add a line with product Elm Tree
2) Go back to main tab, search (toolbar icon) for sales order B and try to add product Elm Tree. Price is incorrect (getting from price list X of sales order A!