diff --git a/src/components/game/SkillsTab.tsx b/src/components/game/SkillsTab.tsx
index 7b8e065..6c49c19 100755
--- a/src/components/game/SkillsTab.tsx
+++ b/src/components/game/SkillsTab.tsx
@@ -267,7 +267,10 @@ export function SkillsTab() {
const baseCost = def.base * (level + 1) * currentTier;
const cost = Math.floor(baseCost * studyCostMult);
- const canStudy = !maxed && prereqMet && store.rawMana >= cost && !isStudying;
+ // Check if any study is in progress (prevent switching topics)
+ const isAnyStudyInProgress = store.currentAction === 'study' && store.currentStudyTarget;
+ // Can only study if: not maxed, prereqs met, has mana, and either no study in progress or already studying this skill
+ const canStudy = !maxed && prereqMet && store.rawMana >= cost && (!isAnyStudyInProgress || isStudying);
const milestoneInfo = hasMilestoneUpgrade(tieredSkillId, level);
const nextTierSkill = getNextTierSkill(tieredSkillId);
@@ -369,15 +372,26 @@ export function SkillsTab() {
Cannot switch topics while studying {SKILLS_DEF[store.currentStudyTarget?.id || '']?.name || 'another skill'}
+