             gp[I_q + ys] -= gupdate;
         }
         
-        __threadfence_block();
-         
     } 
 
     /* May not the synchthreads(), below, since gm/gp updated above, but only fm/gp
        updated below */
-    //__syncthreads();  
+    __syncthreads();  
 
     
     /* ----------------------------- Transverse : Y-faces ----------------------------- */

                }   
            }  
        }  
        //__syncthreads();
    }  /* Done with second order corrections */



    
    if (order[0] == 2)
    {
        ifaces_x = mx + 1;  
        ifaces_y = my + 2;
        num_ifaces = ifaces_x*ifaces_y;

        for(thread_index = threadIdx.x; thread_index < num_ifaces; thread_index += blockDim.x)
        { 
            ix = thread_index % ifaces_x;
            iy = thread_index/ifaces_x;

            /* Start at first non-ghost interior cell */
            I = (iy + mbc-1)*ys + (ix + mbc);

            /* ------------------------------- X-directions --------------------------- */
            for(mw = 0; mw < mwaves; mw++)
