diff --git a/LFtoSR.m b/LFtoSR.m
index 30fbbb271ea6ddcb559a2ffb0e3781b3061566bd..1cc7590a4d6d8df0d10154245c99dfb593bc9d27 100644
--- a/LFtoSR.m
+++ b/LFtoSR.m
@@ -112,28 +112,41 @@ for lab = 1:numLab
         LFXsub = LFX(mgv{:},v);
         LFYsub = LFY(mgv{:},v);
         
+        [Xq,Yq,LFXsub,LFYsub] = utils.gridCoords(LFXsub,LFYsub,SRXq,SRYq);
+        
         LFXsub = LFXsub(:);
         LFYsub = LFYsub(:);
         
+        M = isnan(Xq)|isnan(Yq);
+        
+        Xq(M) = 1;
+        Yq(M) = 1;
+        
         % Interpolate color
         for c = 1:numChan
             Colsub = Color(mgv{:},c,v);
             Colsub = Colsub(:);
-            SRCol{lab}(:,:,c,v) = griddata(LFXsub,LFYsub,Colsub,SRXq,SRYq,Method);
+            temp = griddata(LFXsub,LFYsub,Colsub,Xq,Yq,Method);
+            temp(M) = nan;
+            SRCol{lab}(:,:,c,v) = temp;
         end
         
         % Interpolate disparity
         LFDispsub = LFDisp(mgv{:},v);
         LFDispsub = LFDispsub(:);
-        SRDisp{lab}(:,:,1,v) = griddata(LFXsub,LFYsub,LFDispsub,SRXq,SRYq,Method);
+        temp = griddata(LFXsub,LFYsub,LFDispsub,Xq,Yq,Method);
+        temp(M) = nan;
+        SRDisp{lab}(:,:,1,v) = temp;
         
         % Interpolate label
         Labelsub = Label(mgv{:},v);
         Labelsub = Labelsub(:);
-        Lab = griddata(LFXsub,LFYsub,Labelsub,SRXq,SRYq,'nearest');
+        temp = griddata(LFXsub,LFYsub,Labelsub,Xq,Yq,'nearest');
+        temp(M) = nan;
+        Lab = temp;
         
         % Replace out of boundary values in label using cubic interpolation
-        NaNLab = isnan(griddata(LFXsub,LFYsub,Labelsub,SRXq,SRYq,'cubic'));
+        NaNLab = isnan(griddata(LFXsub,LFYsub,Labelsub,Xq,Yq,'cubic'));
         Lab(NaNLab) = nan;
         SRLab{lab}(:,:,1,v) = Lab;
     end