Compass repair
As Bob said, if it's a crappy old compass, replace it. If it's a decent compass, take it to a compass repair shop. Where might you find one, you ask? There's a place here in Portland that repairs watches, clocks, etc and they do compasses as well. Call around - someone might know where to take it.LaDonna