diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 120e67cc31..7d8d779742 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -2987,9 +2987,11 @@ static int event_source_online( break; case SOURCE_MEMORY_PRESSURE: - r = source_memory_pressure_register(s, enabled); - if (r < 0) - return r; + if (s->memory_pressure.write_buffer_size == 0) { + r = source_memory_pressure_register(s, enabled); + if (r < 0) + return r; + } break;