diff --git a/join.m b/join.m
index aaff97db17a323f06e28f22dc5e92b3225142985..555da8d347672fdd33c7973da36fe2416ebe516a 100644
--- a/join.m
+++ b/join.m
@@ -6,11 +6,7 @@ function data = join(slices,varargin)
 %   data = join(slices,dimsToSplit,squeezeGrid,squeezeSlices)
 
 validSplitsFcn = @(x) isnumeric(x)||islogical(x);
-
-gridSplits   = true ([1,ndims(slices   )]);
-slicesSplits = false([1,ndims(slices{1})]);
-
-defaultSplits = [gridSplits,slicesSplits];
+defaultSplits = [0,0,0,1,1];
 
 % Parse input arguments
 p = inputParser;
diff --git a/split.m b/split.m
index 3b71f357179df5673cfd411a2a79788f4a34bbef..300d7709c00c7cd3a9727973aaf43abfad2e6a4b 100644
--- a/split.m
+++ b/split.m
@@ -5,13 +5,8 @@ function slices = split(data,varargin)
 %   slices = split(data,dimsToSplit,squeezeGrid)
 %   slices = split(data,dimsToSplit,squeezeGrid,squeezeSlices)
 
-dimsSize = size(data);
-numDims = ndims(data);
-
-defaultSplits = false(1,numDims);
-defaultSplits(1:2) = true;
-
 validSplitsFcn = @(x) isnumeric(x)||islogical(x);
+defaultSplits = [0,0,0,1,1];
 
 % Parse input arguments
 p = inputParser;
@@ -24,25 +19,32 @@ dimsToSplit = logical(p.Results.dimsToSplit);
 squeezeGrid   = p.Results.squeezeGrid;
 squeezeSlices = p.Results.squeezeSlices;
 
+% Input size and dimensions
+sz = size(data);
+sz(end+1:5) = 1;
+numDims = numel(sz);
+
 % Infer split chunks sizes
-numSplits = dimsSize;
+numSplits = sz;
 numSplits(~dimsToSplit) = 1;
 numSplits(numDims+1:end) = [];
 
 dimDists = arrayfun(@(nsplit,sz) repelem(sz/nsplit,nsplit),...
-    numSplits,dimsSize,...
+    numSplits,sz,...
     'UniformOutput',false);
 
 % Split input data into slices
 slices = mat2cell(data,dimDists{:});
 
 if squeezeGrid
-    gridSize = dimsSize(dimsToSplit);
+    gridSize = sz(dimsToSplit);
+    gridSize(end+1:2) = 1;
     slices = reshape(slices,gridSize);
 end
 
 if squeezeSlices
-    SliceSize = dimsSize(~dimsToSplit); SliceSize(end+1:2)=1;
+    SliceSize = sz(~dimsToSplit);
+    SliceSize(end+1:2) = 1;
     slices = cellfun(@(s) reshape(s,SliceSize),slices,'UniformOutput',false);
 end
 end
\ No newline at end of file