diff --git a/client/VCMI_client.cbp b/client/VCMI_client.cbp
index 0978b9888..31279094a 100644
--- a/client/VCMI_client.cbp
+++ b/client/VCMI_client.cbp
@@ -69,7 +69,6 @@
 			<Add option="-Wno-sign-compare" />
 			<Add option="-Wno-unused-parameter" />
 			<Add option="-Wno-overloaded-virtual" />
-			<Add option="-fpermissive" />
 			<Add option="-isystem $(#boost.include)" />
 			<Add option="-DBOOST_THREAD_USE_LIB" />
 			<Add option="-DBOOST_SYSTEM_NO_DEPRECATED" />
diff --git a/client/windows/CSpellWindow.cpp b/client/windows/CSpellWindow.cpp
index 704ce4ff8..d17a939ef 100644
--- a/client/windows/CSpellWindow.cpp
+++ b/client/windows/CSpellWindow.cpp
@@ -401,10 +401,10 @@ void CSpellWindow::computeSpellsPerArea()
 	std::vector<SpellID> spellsCurSite;
 	for(const SpellID & spellID : mySpells)
 	{
-		CSpell * s = spellID.toSpell();
+		const CSpell * s = spellID.toSpell();
 
 		if(s->combatSpell ^ !battleSpellsOnly
-			&& ((selectedTab == 4) || (s->school[(ESpellSchool)selectedTab]))
+			&& ((selectedTab == 4) || s->school.at((ESpellSchool)selectedTab))
 			)
 		{
 			spellsCurSite.push_back(spellID);