We address the problem of preserving the confidentiality of contextual information in wireless sensor networks (WSNs). Such information includes the time and location of events observed by the WSN, the position of the sink, and possible routes to the sink. Contextual information can be extracted via traffic analysis, even when all traffic is encrypted. We consider a global threat model in which the adversary is assumed to be capable of eavesdropping on all communications. Compared to previous works, our method significantly reduces the communication overhead for hiding contextual information. In our approach, we first reduce the number of bogus traffic sources necessary for hiding traffic patterns by finding minimum connected dominating sets that cover the deployment area. We then randomize the traffic distributions observed by eavesdropping nodes.