diff --git a/beat/web/common/serializers.py b/beat/web/common/serializers.py
index 933b257a3ec13703b0e1153aa96b6cf4ff7d6110..c26452837d4f28226e3c595e4a8abd22247f69fe 100644
--- a/beat/web/common/serializers.py
+++ b/beat/web/common/serializers.py
@@ -311,7 +311,7 @@ class MapDot(dict):
 class ContributionCreationSerializer(serializers.ModelSerializer):
     declaration = JSONSerializerField(required=False)
     description = serializers.CharField(required=False, allow_blank=True)
-    fork_of = serializers.CharField(required=False)
+    fork_of = serializers.JSONField(required=False)
     previous_version = serializers.CharField(required=False)
 
     class Meta:
@@ -341,7 +341,8 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
                 previous_version_id["username"]    = user.username
                 previous_version_id["name"]        = name
                 previous_version_id["version"]     = data['previous_version']
-                data['data'] = json.dumps(ast.literal_eval(json.loads(json.dumps(data['data']))))
+                data['data'] = json.dumps(data['data'])
+
         else:
             previous_version_id = None
 
@@ -353,11 +354,12 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
                     fork_of_id.username = user.username
             else:
                 fork_of_id                = MapDot()
-                fork_elem                 = json.loads(json.dumps(ast.literal_eval(json.loads(json.dumps(data['fork_of'])))))
+                fork_elem                 = data['fork_of']
                 fork_of_id["username"]    = fork_elem['username']
                 fork_of_id["name"]        = fork_elem['name']
                 fork_of_id["version"]     = fork_elem['version']
-                data['data'] = json.dumps(ast.literal_eval(json.loads(json.dumps(data['data']))))
+                data['data'] = json.dumps(data['data'])
+
         else:
             fork_of_id = None