diff --git a/GeoLib/AABB.h b/GeoLib/AABB.h
index 6b9563be5187922c1788c49b68d9fff4f7d3037e..12a04af1fb7e06b03502de940e0b4f803108554b 100644
--- a/GeoLib/AABB.h
+++ b/GeoLib/AABB.h
@@ -42,8 +42,8 @@ public:
 		_max_pnt(std::numeric_limits<double>::min(), std::numeric_limits<double>::min(), std::numeric_limits<double>::min())
 	{
 		assert(! ids.empty());
-		for (auto i : ids) {
-			update(*(pnts[i]));
+		for (unsigned i=0; i<ids.size(); ++i) {
+			update(*(pnts[ids[i]]));
 		}
 	}
 
diff --git a/GeoLib/Surface.cpp b/GeoLib/Surface.cpp
index 9675acc7758ffe51351d50f319ecb11e17edb3b4..1974d1cd519f37cabf7f662cd29cf7cedd798ae7 100644
--- a/GeoLib/Surface.cpp
+++ b/GeoLib/Surface.cpp
@@ -42,7 +42,11 @@ void Surface::addTriangle (std::size_t pnt_a, std::size_t pnt_b, std::size_t pnt
 
 	_sfc_triangles.push_back (new Triangle(_sfc_pnts, pnt_a, pnt_b, pnt_c));
 	if (!_bv) {
-		_bv = new AABB<Point>(_sfc_pnts, {pnt_a, pnt_b, pnt_c});
+		std::vector<size_t> ids(3);
+		ids[0] = pnt_a;
+		ids[1] = pnt_b;
+		ids[2] = pnt_c;
+		_bv = new AABB<Point>(_sfc_pnts, ids);
 	} else {
 		_bv->update (*_sfc_pnts[pnt_a]);
 		_bv->update (*_sfc_pnts[pnt_b]);