My problem went away on its own, I'd given up trying to fix it and was upgrading the weapons every time I played to get around it, I went to do it yesterday only to find the upgrades from the day before had stuck. I honestly can't think of anything I'd done differently to make that happen.