diff --git a/MeshModel/src/main/java/cz/fidentis/analyst/mesh/io/MeshObjLoader.java b/MeshModel/src/main/java/cz/fidentis/analyst/mesh/io/MeshObjLoader.java
index 210616d4f472673037af0ce2d981ee75a514a5bd..250dacd9516e7a56619223b499cdc994887ff2bf 100644
--- a/MeshModel/src/main/java/cz/fidentis/analyst/mesh/io/MeshObjLoader.java
+++ b/MeshModel/src/main/java/cz/fidentis/analyst/mesh/io/MeshObjLoader.java
@@ -85,9 +85,9 @@ public class MeshObjLoader {
     }
 
     /**
-     * Parse OBJMesh into MeshFacet containig corner table data
+     * Parse OBJMesh into MeshFacet containing corner table data
      * @param model Model is needed in future. It's holding data pools
-     * @param mesh Mesh to parse. It corespond to our MeshFacet
+     * @param mesh Mesh to parse. It correspond to our MeshFacet
      * @return Returns complete facet
      * @throws IOException Data are corrupted
      */
@@ -117,8 +117,9 @@ public class MeshObjLoader {
     private static void processFace(OBJModel model, OBJFace face, MeshFacet meshFacet,
                     Map<MeshPoint, Integer> vertices, Map<Edge, Integer> edges) throws IOException {
         List<MeshPoint> trianglePoints = parseFaceToTriangle(model, face);
-        List<Integer> vertexIndicies = new ArrayList();
-
+        
+        int actRow = meshFacet.getCornerTable().getSize();
+        
         // This cycle adds integer indices of new mesh points and add them to CornerTable
         for (MeshPoint vertex : trianglePoints) {
             Integer vertIndex = vertices.get(vertex);
@@ -128,18 +129,17 @@ public class MeshObjLoader {
                 meshFacet.addVertex(vertex);
                 vertIndex = newIndex;
             }
-            vertexIndicies.add(vertIndex);
             CornerTableRow cornerTableRow = new CornerTableRow(vertIndex, -1);
             meshFacet.getCornerTable().addRow(cornerTableRow);
         }
 
         List<Edge> triangleEdges = new ArrayList();
         triangleEdges.add(new Edge(trianglePoints.get(0).getPosition(),
-                    trianglePoints.get(1).getPosition(), vertexIndicies.get(2)));
+                    trianglePoints.get(1).getPosition(), actRow + 2));
         triangleEdges.add(new Edge(trianglePoints.get(1).getPosition(),
-                    trianglePoints.get(2).getPosition(), vertexIndicies.get(0)));
+                    trianglePoints.get(2).getPosition(), actRow + 0));
         triangleEdges.add(new Edge(trianglePoints.get(2).getPosition(),
-                    trianglePoints.get(0).getPosition(), vertexIndicies.get(1)));
+                    trianglePoints.get(0).getPosition(), actRow + 1));
 
         for (Edge e : triangleEdges) {
             // We are processing edge which we already found