diff --git a/source/geom/models.cpp b/source/geom/models.cpp
index 0883944672c990c61ca18fd3a517e17598e1432e..8aac9c7a4a46cfd64578572afaa986275e63dfbe 100644
--- a/source/geom/models.cpp
+++ b/source/geom/models.cpp
@@ -1340,9 +1340,10 @@ void CModels::deleteModel(ID idModel)
 
 void CModels::clear()
 {
-	for (int i = 0; i < m_aModels.size(); ++i)
+	while(m_aModels.size() > 0)
 	{
-		deleteModel((m_aModels.size() - 1) - i);
+		//������� ������ ������, ��� ��� ������ ��������� �� ������� erase �� ����� �� ��������� id ����� (������ ������� - 1)
+		deleteModel((m_aModels.size() - 1));
 	}
 }
 
diff --git a/source/sxleveleditor/model_callback.cpp b/source/sxleveleditor/model_callback.cpp
index 4990ffac24dcd78f650367860d8815a7c55fea49..544512131f4beefa0f362f2b44c76cc3fb5e1675 100644
--- a/source/sxleveleditor/model_callback.cpp
+++ b/source/sxleveleditor/model_callback.cpp
@@ -303,15 +303,15 @@ void level_editor::GeomTransformByHelper()
 		float3 vCurrScale = *SGeom_ModelGetScale(level_editor::idActiveElement);
 		float3 vNewScale;
 
-		if (isStartScale)
+		if (level_editor::isStartScale)
 		{
-			isStartScale = false;
-			vStartScale = vCurrScale;
+			level_editor::isStartScale = false;
+			level_editor::vStartScale = vCurrScale;
 			vNewScale = vCurrScale;
 		}
 		else
 		{
-			vNewScale = vStartScale + (level_editor::pAxesHelper->getScale() - float3(1, 1, 1));
+			vNewScale = level_editor::vStartScale + (level_editor::pAxesHelper->getScale() - float3(1, 1, 1));
 		}
 		
 		//float3 vNewScale = vCurrScale + (level_editor::pAxesHelper->getScale() - float3(1, 1, 1));