diff --git a/src/main/java/chylex/bettercontrols/input/ToggleTracker.java b/src/main/java/chylex/bettercontrols/input/ToggleTracker.java
index 7a4e389..25d9d16 100644
--- a/src/main/java/chylex/bettercontrols/input/ToggleTracker.java
+++ b/src/main/java/chylex/bettercontrols/input/ToggleTracker.java
@@ -6,15 +6,19 @@ public class ToggleTracker {
 	protected final KeyMapping bindingToggle;
 	protected final KeyMapping bindingReset;
 	
-	protected boolean isToggled;
-	
+	private boolean isToggled;
 	private boolean waitForRelease;
 	private boolean hasToggledWhileHoldingReset;
 	private boolean skipNextToggle;
 	
-	public ToggleTracker(KeyMapping bindingToggle, KeyMapping bindingReset) {
+	protected ToggleTracker(KeyMapping bindingToggle, KeyMapping bindingReset, boolean initialState) {
 		this.bindingToggle = bindingToggle;
 		this.bindingReset = bindingReset;
+		this.isToggled = initialState;
+	}
+	
+	public ToggleTracker(KeyMapping bindingToggle, KeyMapping bindingReset) {
+		this(bindingToggle, bindingReset, false);
 	}
 	
 	/*
diff --git a/src/main/java/chylex/bettercontrols/input/ToggleTrackerForStickyKey.java b/src/main/java/chylex/bettercontrols/input/ToggleTrackerForStickyKey.java
index c920700..ddaff66 100644
--- a/src/main/java/chylex/bettercontrols/input/ToggleTrackerForStickyKey.java
+++ b/src/main/java/chylex/bettercontrols/input/ToggleTrackerForStickyKey.java
@@ -1,31 +1,31 @@
 package chylex.bettercontrols.input;
 
 import chylex.bettercontrols.Mixins;
-import it.unimi.dsi.fastutil.booleans.BooleanConsumer;
 import net.minecraft.client.KeyMapping;
+import net.minecraft.client.OptionInstance;
 import java.util.HashSet;
 import java.util.Set;
 
 public final class ToggleTrackerForStickyKey extends ToggleTracker {
 	private static final Set<KeyMapping> enabledOverrides = new HashSet<>();
 	
+	@SuppressWarnings("StaticMethodOnlyUsedInOneClass")
 	public static boolean isOverrideEnabled(KeyMapping binding) {
 		return enabledOverrides.contains(binding);
 	}
 	
-	private final BooleanConsumer setToggleState;
+	private final OptionInstance<Boolean> toggleOption;
 	
-	public ToggleTrackerForStickyKey(KeyMapping bindingToggle, KeyMapping bindingStickyReset, BooleanConsumer setToggleState) {
-		super(bindingToggle, bindingStickyReset);
-		this.setToggleState = setToggleState;
-		this.setToggleState.accept(false);
+	public ToggleTrackerForStickyKey(KeyMapping bindingToggle, KeyMapping bindingStickyReset, OptionInstance<Boolean> toggleOption) {
+		super(bindingToggle, bindingStickyReset, toggleOption.get().booleanValue());
+		this.toggleOption = toggleOption;
 		enabledOverrides.add(bindingStickyReset);
 	}
 	
 	@Override
 	public boolean tick() {
 		boolean isToggled = super.tick();
-		setToggleState.accept(isToggled);
+		toggleOption.set(Boolean.valueOf(isToggled));
 		return isToggled;
 	}
 	
diff --git a/src/main/java/chylex/bettercontrols/player/PlayerTicker.java b/src/main/java/chylex/bettercontrols/player/PlayerTicker.java
index b9adcfa..7607369 100644
--- a/src/main/java/chylex/bettercontrols/player/PlayerTicker.java
+++ b/src/main/java/chylex/bettercontrols/player/PlayerTicker.java
@@ -46,8 +46,8 @@ public final class PlayerTicker {
 	
 	// Logic
 	
-	private final ToggleTracker toggleSprint = new ToggleTrackerForStickyKey(getConfig().keyToggleSprint, KEY_SPRINT, OPTIONS.toggleSprint()::set);
-	private final ToggleTracker toggleSneak = new ToggleTrackerForStickyKey(getConfig().keyToggleSneak, KEY_SNEAK, OPTIONS.toggleCrouch()::set);
+	private final ToggleTracker toggleSprint = new ToggleTrackerForStickyKey(getConfig().keyToggleSprint, KEY_SPRINT, OPTIONS.toggleSprint());
+	private final ToggleTracker toggleSneak = new ToggleTrackerForStickyKey(getConfig().keyToggleSneak, KEY_SNEAK, OPTIONS.toggleCrouch());
 	private final ToggleTracker toggleWalkForward = new ToggleTracker(getConfig().keyToggleWalkForward, KEY_FORWARD);
 	private final ToggleTracker toggleJump = new ToggleTracker(getConfig().keyToggleJump, KEY_JUMP);