diff --git a/pad.m b/pad.m
index 3a9118a3cd5b1400ce6dac46d68043c0853a59ad..e8aad257ecf928561432df514d373b973977b228 100644
--- a/pad.m
+++ b/pad.m
@@ -2,17 +2,19 @@ function [LFRef,LFSizePad] = pad(LFRef,blockSize)
 %PAD Pad lightfield data
 %   [LFRef,LFSizePad] = pad(LFRef,blockSize)
 
-LFSize = size(LFRef);
-imgRes  = LFSize(1:2);
-imgSize = LFSize(3:end);
+LFSize  = size(LFRef);
+LFSize(3) = 0;
+imgSize = LFSize(1:3);
+imgRes  = LFSize(4:end);
 
-imgSizePad = ceil(imgSize/blockSize)*blockSize;
-imgSizePad(3:end)=imgSize(3:end);
-LFSizePad = [imgRes,imgSizePad];
-padSize = LFSizePad-LFSize;
-padSizePre = floor(padSize/2);
+imgSizePad = ceil(imgSize./blockSize).*blockSize;
+
+LFSizePad = [imgSizePad,imgRes];
+
+padSize     = LFSizePad-LFSize;
+padSizePre  = floor(padSize/2);
 padSizePost = padSize - padSizePre;
 
-LFRef = padarray(LFRef,padSizePre,'replicate','pre');
+LFRef = padarray(LFRef,padSizePre ,'replicate','pre' );
 LFRef = padarray(LFRef,padSizePost,'replicate','post');
 end
\ No newline at end of file
diff --git a/unpad.m b/unpad.m
index c9b6e560c99a6ba417f673a86f03d1a87f4c514a..b62c82582d4764a8f9462721ba877e033d7d98e1 100644
--- a/unpad.m
+++ b/unpad.m
@@ -3,8 +3,9 @@ function LFRef = unpad(LFRef,LFSize)
 %   LFRef = unpad(LFRef,LFSize)
 
 LFSizePad = size(LFRef);
-padSize = LFSizePad-LFSize;
-padSizePre = floor(padSize/2);
+
+padSize     = LFSizePad-LFSize;
+padSizePre  = floor(padSize/2);
 padSizePost = padSize - padSizePre;
 
 gv = arrayfun(@(lfsizepad,pre,post) (1+pre):(lfsizepad-post),...