diff --git a/pkg/data/data.go b/pkg/data/data.go
index 0540055ad4e213f666b0cf72019b9b4b9c39fbe8..c1d0f63f958209147137cfee6829e531a2f5a87d 100644
--- a/pkg/data/data.go
+++ b/pkg/data/data.go
@@ -177,6 +177,10 @@ func set(path []string, data, value any) error {
 
 	switch v := data.(type) {
 	case map[string]interface{}:
+		if v == nil {
+			return nil
+		}
+
 		if len(path) == 1 {
 
 			if _, ok := value.(DeleteValueType); ok {
diff --git a/pkg/data/data_test.go b/pkg/data/data_test.go
index 785eefbb868a68c9d8c6b2f75b8f861ab2041e11..ecfacbbfa86139509225e3383d2aa80c15e0ddb3 100644
--- a/pkg/data/data_test.go
+++ b/pkg/data/data_test.go
@@ -8,6 +8,8 @@ import (
 )
 
 func TestDelete(t *testing.T) {
+	var uninitializedMap map[string]any
+
 	tests := []struct {
 		name  string
 		in    interface{}
@@ -62,6 +64,12 @@ func TestDelete(t *testing.T) {
 				},
 			}, "z": "2"},
 		},
+		{
+			"object field from uninitialized map",
+			uninitializedMap,
+			"a.b",
+			uninitializedMap,
+		},
 		// Решили что автоматически удалять пустые объекты/слайсы не нужно
 		//{
 		//	"empty object",