diff --git a/gitlab/utils.py b/gitlab/utils.py
index <HASH>..<HASH> 100644
--- a/gitlab/utils.py
+++ b/gitlab/utils.py
@@ -55,3 +55,7 @@ def sanitized_url(url):
     parsed = urlparse(url)
     new_path = parsed.path.replace(".", "%2E")
     return parsed._replace(path=new_path).geturl()
+
+
+def remove_none_from_dict(data):
+    return {k: v for k, v in data.items() if v is not None}
diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py
index <HASH>..<HASH> 100644
--- a/gitlab/v4/objects.py
+++ b/gitlab/v4/objects.py
@@ -760,6 +760,7 @@ class FeatureManager(ListMixin, DeleteMixin, RESTManager):
             "group": group,
             "project": project,
         }
+        data = utils.remove_none_from_dict(data)
         server_data = self.gitlab.http_post(path, post_data=data, **kwargs)
         return self._obj_cls(self, server_data)
fix: remove null values from features POST data, because it fails
with HTTP <I>