    }
 
    //Get top left most neuron in the group
-   __shared__ long localStartSourceExt;
-   if(localXIndex == 0 && localYIndex == 0 && localFIndex == 0){
-      localStartSourceExt = params.startSourceExtBuf[kTargetRes];
-   }
-
-   //long startSourceExt = params.startSourceExtBuf[kTargetRes];
+   //__shared__ long localStartSourceExt;
+   //if(localXIndex == 0 && localYIndex == 0 && localFIndex == 0){
+   //   localStartSourceExt = params.startSourceExtBuf[kTargetRes];
+   //}
+
+   long startSourceExt = params.startSourceExtBuf[kTargetRes];
 
    int localIndex = kIndex(localXIndex, localYIndex, localFIndex, localX, localY, localF);
 

void HyPerLayer_recv_post(recv_post_params params){
   ////Shared memory buffers are declared
   extern __shared__ char sharedMem[];
   __shared__ float* preBuffer;
   __shared__ float* postBuffer;
   __shared__ float* weightsBuffer;
   //__shared__ long* localStartSourceExt;
   preBuffer = (float*)sharedMem;
   postBuffer = (float*)(&(preBuffer[params.preBufNum]));
   weightsBuffer = (float*)(&(postBuffer[params.postBufNum]));

   //Ordered this way because threads vary fastest in x, then y, then z

      printf("gpu post run: numFLocal must be 1\n");
      exit(-1);
   }
   //if(block_size.z != 1){
   //   printf("gpu post run: numYLocal must be 1\n");
   //   exit(-1);
   //}

   //printf("Using %d buffers\n", params.numXfBufs);
   
