 +            else
 +            {
 +                net.minecraft.world.chunk.storage.AnvilChunkLoader loader = (net.minecraft.world.chunk.storage.AnvilChunkLoader) this.field_73247_e;
-+
-+                // We can only use the queue for already generated chunks
-+                if (loader.chunkExists(this.field_73251_h, p_186028_1_, p_186028_2_))
++                if (runnable == null)
++                    chunk = net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(this.field_73251_h, loader, this, p_186028_1_, p_186028_2_);
++                else if (loader.chunkExists(this.field_73251_h, p_186028_1_, p_186028_2_))
 +                {
-+                    if (runnable != null)
-+                    {
-+                        net.minecraftforge.common.chunkio.ChunkIOExecutor.queueChunkLoad(this.field_73251_h, loader, this, p_186028_1_, p_186028_2_, runnable);
-+                        return null;
-+                    }
-+                    else chunk = net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(this.field_73251_h, loader, this, p_186028_1_, p_186028_2_);
++                    // We can only use the async queue for already generated chunks
++                    net.minecraftforge.common.chunkio.ChunkIOExecutor.queueChunkLoad(this.field_73251_h, loader, this, p_186028_1_, p_186028_2_, runnable);
++                    return null;
 +                }
 +            }
          }

         return chunk;
     }
 
@@ -221,6 +252,11 @@
         {
             if (!this.field_73248_b.isEmpty())
             {

                 Iterator<Long> iterator = this.field_73248_b.iterator();
 
                 for (int i = 0; i < 100 && iterator.hasNext(); iterator.remove())
@@ -235,6 +268,11 @@
                         this.func_73243_a(chunk);
                         this.field_73244_f.remove(olong);
                         ++i;
