diff --git a/redisson/src/main/java/org/redisson/RedissonSetMultimap.java b/redisson/src/main/java/org/redisson/RedissonSetMultimap.java
index 380867e37..7f4d471cb 100644
--- a/redisson/src/main/java/org/redisson/RedissonSetMultimap.java
+++ b/redisson/src/main/java/org/redisson/RedissonSetMultimap.java
@@ -82,6 +82,9 @@ public class RedissonSetMultimap<K, V> extends RedissonMultimap<K, V> implements
                         "for j = 2, #ARGV, 1 do " +
                             "size = size + redis.call('srem', name, ARGV[j]); " +
                         "end; " +
+                        "if redis.call('exists', name) == 0 then " +
+                            "redis.call('hdel', KEYS[1], keys[i-1]); " +
+                        "end; " +
                     "end;" +
                 "end; " +
                 "return 0; ",
diff --git a/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java b/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java
index 39809dec0..eaffadd99 100644
--- a/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java
+++ b/redisson/src/test/java/org/redisson/RedissonLiveObjectServiceTest.java
@@ -1721,7 +1721,7 @@ public class RedissonLiveObjectServiceTest extends BaseTest {
         service.asRMap(myObject).expire(Duration.ofSeconds(1));
         Thread.sleep(2000);
         assertFalse(service.asLiveObject(myObject).isExists());
-        assertThat(redisson.getKeys().count()).isEqualTo(1);
+        assertThat(redisson.getKeys().count()).isZero();
 
         redisson.shutdown();
         instance.stop();