diff --git a/gradle.properties b/gradle.properties
index 1d5d420..5a26e08 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -9,15 +9,15 @@ modSourcesURL=https://github.com/chylex/Better-Controls
 modIssuesURL=https://github.com/chylex/Better-Controls/issues
 
 # Dependencies
-minecraftVersion=1.19.3
-forgeVersion=44.0.11
-fabricVersion=0.14.11
+minecraftVersion=1.19.4
+forgeVersion=45.0.6
+fabricVersion=0.14.17
 loomVersion=0.12
 mixinVersion=0.8.5
 
 # Constraints
-minimumMinecraftVersion=1.19.3
-minimumForgeVersion=44.0.0
+minimumMinecraftVersion=1.19.4
+minimumForgeVersion=45.0.0
 minimumFabricVersion=0.7.4
 
 # Gradle
diff --git a/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java
index 576ab5c..8ac7b14 100644
--- a/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java
+++ b/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java
@@ -57,6 +57,14 @@ public final class TextWidget extends GuiComponent implements OptionWidget {
 		this.y = y;
 	}
 	
+	@Override
+	public void setFocused(final boolean focused) {}
+	
+	@Override
+	public boolean isFocused() {
+		return false;
+	}
+	
 	@Override
 	public void render(final @NotNull PoseStack matrices, final int mouseX, final int mouseY, final float delta) {
 		final Font textRenderer = Minecraft.getInstance().font;
diff --git a/src/main/java/chylex/bettercontrols/mixin/HookPlayerFlightSpeed.java b/src/main/java/chylex/bettercontrols/mixin/HookPlayerFlightSpeed.java
index 03c9304..0e9ed85 100644
--- a/src/main/java/chylex/bettercontrols/mixin/HookPlayerFlightSpeed.java
+++ b/src/main/java/chylex/bettercontrols/mixin/HookPlayerFlightSpeed.java
@@ -16,9 +16,12 @@ public abstract class HookPlayerFlightSpeed extends LivingEntity {
 	}
 	
 	@Redirect(
-		method = "travel",
+		method = "getFlyingSpeed",
 		at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Player;isSprinting()Z"),
-		slice = @Slice(from = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Abilities;getFlyingSpeed()F"))
+		slice = @Slice(
+			from = @At(value = "FIELD", target = "Lnet/minecraft/world/entity/player/Abilities;flying:Z"),
+			to = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Abilities;getFlyingSpeed()F")
+		)
 	)
 	private boolean disableVanillaSprintBoost(final Player player) {
 		return false;
diff --git a/src/main/java/chylex/bettercontrols/mixin/HookToggleOptionButtons.java b/src/main/java/chylex/bettercontrols/mixin/HookToggleOptionButtons.java
index 010f670..54f42bc 100644
--- a/src/main/java/chylex/bettercontrols/mixin/HookToggleOptionButtons.java
+++ b/src/main/java/chylex/bettercontrols/mixin/HookToggleOptionButtons.java
@@ -7,16 +7,17 @@ import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.injection.At;
 import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+import java.util.function.Consumer;
 
 @Mixin(OptionInstance.class)
 public abstract class HookToggleOptionButtons {
-	@Inject(method = "createButton", at = @At("RETURN"))
-	private void disableToggleOptions(final Options options, final int x, final int y, final int width, final CallbackInfoReturnable<AbstractWidget> ci) {
+	@Inject(method = "createButton(Lnet/minecraft/client/Options;IIILjava/util/function/Consumer;)Lnet/minecraft/client/gui/components/AbstractWidget;", at = @At("RETURN"))
+	private <T> void disableToggleOptions(final Options options, final int x, final int y, final int width, final Consumer<T> callback, final CallbackInfoReturnable<AbstractWidget> cir) {
 		@SuppressWarnings("ConstantConditions")
 		final OptionInstance<?> me = (OptionInstance<?>)(Object)this;
 		
 		if (me == options.toggleCrouch() || me == options.toggleSprint()) {
-			ci.getReturnValue().active = false;
+			cir.getReturnValue().active = false;
 		}
 	}
 }