 	private func isImageQueued(forURLString URLString: String) -> Bool {
 		
 		// NOTE: Active imageRequests remain on downloadQueue, so it's only necessary to check downloadQueue
-		let foundItem: ImageRequest? = queuedImageRequest(forURLString: URLString)
-		return (foundItem != nil)
+		if queuedImageRequest(forURLString: URLString) != nil || activeImageRequest(forURLString: URLString) != nil {
+			return true
+		}
+		return false
 	}
 	
 	private func queuedImageRequest(forURLString URLString: String) -> ImageRequest? {

		backgroundDatabaseConnection.asyncReadWrite({ transaction in
			for URLString in URLStrings {
				if let metadata = transaction.metadata(forKey: self.keyForImage(withURLString: URLString), inCollection: YapImageManagerImageCollection) as? ImageMetadata, metadata.expires != nil {
					print("PERSIST \(URLString)")
					transaction.replaceMetadata(ImageMetadata(created: metadata.created), forKey: self.keyForImage(withURLString: URLString), inCollection: YapImageManagerImageCollection)
				}
			}

		}
	}
	
	private func dequeueRequest() -> ImageRequest? {
		
		if let nextRequest = queuedRequests.last {
			queuedRequests.removeLast()
			return nextRequest
		}
		return nil
	}
