diff --git a/magick/cache.c b/magick/cache.c
index cb03d68..46ec77b 100644
--- a/magick/cache.c
+++ b/magick/cache.c
@@ -2244,14 +2244,24 @@
 static MagickBooleanType GetOneAuthenticPixelFromCache(Image *image,
   const ssize_t x,const ssize_t y,PixelPacket *pixel,ExceptionInfo *exception)
 {
+  CacheInfo
+    *cache_info;
+
+  const int
+    id = GetOpenMPThreadId();
+
   PixelPacket
     *pixels;
 
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickSignature);
   assert(image->cache != (Cache) NULL);
+  cache_info=(CacheInfo *) image->cache;
+  assert(cache_info->signature == MagickSignature);
   *pixel=image->background_color;
-  pixels=GetAuthenticPixelsCache(image,x,y,1UL,1UL,exception);
+  assert(id < (int) cache_info->number_threads);
+  pixels=GetAuthenticPixelCacheNexus(image,x,y,1UL,1UL,
+    cache_info->nexus_info[id],exception);
   if (pixels == (PixelPacket *) NULL)
     return(MagickFalse);
   *pixel=(*pixels);
@@ -2317,7 +2327,7 @@
   GetMagickPixelPacket(image,pixel);
   if (pixels == (const PixelPacket *) NULL)
     return(MagickFalse);
-  indexes=GetVirtualIndexQueue(image);
+  indexes=GetVirtualIndexesFromNexus(cache_info,cache_info->nexus_info[id]);
   SetMagickPixelPacket(image,pixels,indexes,pixel);
   return(MagickTrue);
 }