 				let infoSet = req.available.sort({ (a, b) -> Bool in
 					return a.peripheral.core.identifier.UUIDString <= b.peripheral.core.identifier.UUIDString
 				})
-				completion?(infoSet)
+				if self?.isScanning == true {
+					req.completion?(infoSet)
+				}
 			})
 			// scan completed, check request out
 			self?.checkOut(req)

		return false
	}

}

// MARK: - scan methods

	stop scanning, it's an non-block method, and scanRequests will be emptied once called
	*/
	public func stopScan() {
		self.isScanning = false
		self.centralManager.stopScan()
		dispatch_async(self.reqQ) { () -> Void in
			self.scanRequests.removeAll()
		}
		log("CUSP STOPPED SCAN")
	}
}
