Snapping its three-day gaining streak, the rupee declined by 16 paise to close at 86.95 against the US dollar on Wednesday due to a firm American currency and unending outflow of foreign funds.