diff --git a/src/main/java/com/cleanroommc/modularui/widget/Widget.java b/src/main/java/com/cleanroommc/modularui/widget/Widget.java index 94af093cd..c79b17c3b 100644 --- a/src/main/java/com/cleanroommc/modularui/widget/Widget.java +++ b/src/main/java/com/cleanroommc/modularui/widget/Widget.java @@ -151,7 +151,11 @@ public void initialiseSyncHandler(ModularSyncManager syncManager, boolean late) handler = syncManager.getSyncHandler(getPanel().getName(), this.syncKey); } if (handler != null) checkValidSyncHandler(handler); - setSyncHandler(handler); + if (handler instanceof IValue value1) { + setValue(value1); // this also calls setSyncHandler when a sync handler is passed in + } else { + setSyncHandler(handler); + } if (this.syncHandler instanceof ValueSyncHandler valueSyncHandler && valueSyncHandler.getChangeListener() == null) { valueSyncHandler.setChangeListener(this::markTooltipDirty); }