diff --git a/getSR.m b/getSR.m
index 475bcd0fe31118b0169542ffe9723ed9c35b3318..d32822b6d8b6b518c23aef0af83362466d834bd5 100644
--- a/getSR.m
+++ b/getSR.m
@@ -1,4 +1,4 @@
-function [SRRef,SRDisp] = getSR(LFRef,LFDisp,SRXq,SRYq,Method)
+function [SRRef,SRDisp] = getSR(LFRef,SRXq,SRYq,Method,LFDisp)
 %GETSR Summary of this function goes here
 %   Detailed explanation goes here
 
@@ -18,6 +18,9 @@ numLab = numel(SRXq);
 % Initialize super-ray fields
 [SROff,SRCol,SRLab,SRDisp] = deal(cell(numLab,1));
 
+% Initialize disparity if unavailable
+if ~exist('LFDisp','var'); LFDisp = zeros(LFSize); end
+
 % Pad values
 Color = padarray(Color,[1,1,0,0,0],nan,'both');
 Label = padarray(Label,[1,1,0,0,0],nan,'both');
@@ -111,18 +114,18 @@ for lab = 1:numLab
             SRCol{lab}(:,:,c,v) = temp;
         end
         
-        % Interpolate disparity
-        LFDispsub = LFDisp(mgv{:},v);
-        temp = interp2(LFYsub,LFXsub,LFDispsub,Yq,Xq,Method);
-        temp(M) = nan;
-        SRDisp{lab}(:,:,:,v) = temp;
-        
         % Interpolate label
         Labelsub = Label(mgv{:},v);
         temp = interp2(LFYsub,LFXsub,Labelsub,Yq,Xq,'nearest');
         temp(M) = nan;
         Lab = temp;
         
+        % Interpolate disparity
+        LFDispsub = LFDisp(mgv{:},v);
+        temp = interp2(LFYsub,LFXsub,LFDispsub,Yq,Xq,Method);
+        temp(M) = nan;
+        SRDisp{lab}(:,:,:,v) = temp;
+        
         % Replace out of boundary values in label using cubic interpolation
         NaNLab = isnan(interp2(LFYsub,LFXsub,Labelsub,Yq,Xq,'cubic'));
         Lab(NaNLab) = nan;