diff --git a/lib/functions/@Evaluable/plot.m b/lib/functions/@Evaluable/plot.m
index 66682f455050e2a7a0f1529409913fd19502fa40..846bcdbad41b2d9775af7d91458d34b461b9acf6 100644
--- a/lib/functions/@Evaluable/plot.m
+++ b/lib/functions/@Evaluable/plot.m
@@ -59,18 +59,17 @@ else
         warning('Custom plot options discarded due to subdivisions.')
     end
     for s = smin:smax
-        idx = find(subdivision == s);
-        if ~isempty(idx)
+        currentElems = find(subdivision == s);
+        if ~isempty(currentElems)
             % subtriangles on one element
             bary = Barycentric2D(partition3(s)/s);
             [elements, outerEdges] = getSubtriangles(s);
-            nSubtriangles = size(elements, 1) * numel(idx);
             
             % compute plot data
-            coordinates = mesh.elementwiseCoordinates(bary, idx);
+            coordinates = mesh.elementwiseCoordinates(bary, currentElems);
             Xel = splitFirstDimension(coordinates, elements);
             Xlin = splitFirstDimension(coordinates, outerEdges);
-            data = guaranteeSize(eval(obj, bary, idx), mesh.nElements, bary.nNodes);
+            data = guaranteeSize(eval(obj, bary, currentElems), numel(currentElems), bary.nNodes);
             Zel = splitFirstDimension(data, elements);
             Zlin = splitFirstDimension(data, outerEdges);