diff --git a/wled00/json.cpp b/wled00/json.cpp
index ad88d828a..159fd21f3 100644
--- a/wled00/json.cpp
+++ b/wled00/json.cpp
@@ -411,7 +411,7 @@ void serializeState(JsonObject root, bool forPreset, bool includeBri, bool segme
if (!forPreset) {
if (errorFlag) root[F("error")] = errorFlag;
- root[F("ps")] = currentPreset;
+ root[F("ps")] = (currentPreset > 0) ? currentPreset : -1;
root[F("pl")] = currentPlaylist;
usermods.addToJsonState(root);
diff --git a/wled00/led.cpp b/wled00/led.cpp
index caab98b58..69371e211 100644
--- a/wled00/led.cpp
+++ b/wled00/led.cpp
@@ -111,7 +111,7 @@ void colorUpdated(int callMode)
{
effectChanged = false;
if (realtimeTimeout == UINT32_MAX) realtimeTimeout = 0;
- currentPreset = -1; //something changed, so we are no longer in the preset
+ currentPreset = 0; //something changed, so we are no longer in the preset
notify(callMode);
diff --git a/wled00/wled.h b/wled00/wled.h
index d1a149410..c5eeb0613 100644
--- a/wled00/wled.h
+++ b/wled00/wled.h
@@ -564,7 +564,7 @@ WLED_GLOBAL JsonDocument* fileDoc;
WLED_GLOBAL bool doCloseFile _INIT(false);
// presets
-WLED_GLOBAL int16_t currentPreset _INIT(-1);
+WLED_GLOBAL byte currentPreset _INIT(0);
WLED_GLOBAL byte errorFlag _INIT(0);
diff --git a/wled00/xml.cpp b/wled00/xml.cpp
index 95e56d4dd..b682cdd35 100644
--- a/wled00/xml.cpp
+++ b/wled00/xml.cpp
@@ -60,9 +60,9 @@ void XML_response(AsyncWebServerRequest *request, char* dest)
oappend(SET_F(""));
oappendi(colSec[3]);
oappend(SET_F(""));
- oappendi((currentPreset < 1) ? 0:currentPreset);
+ oappendi(currentPreset);
oappend(SET_F(""));
- oappendi(currentPlaylist > 0);
+ oappendi(currentPlaylist >= 0);
oappend(SET_F(""));
oappend(serverDescription);
if (realtimeMode)