diff --git a/main/sorcery.c b/main/sorcery.c
index 8e48403d96def495da147d439c7c6fcf33dc37a7..7a4a7f324ad5bf224f770d1119d50d13c3eef1ea 100644
--- a/main/sorcery.c
+++ b/main/sorcery.c
@@ -1597,10 +1597,13 @@ struct ast_json *ast_sorcery_objectset_json_create(const struct ast_sorcery *sor
 			char *buf = NULL;
 			struct ast_json *value = NULL;
 
-			if ((res = object_field->handler(object, object_field->args, &buf))
+			if (object_field->handler(object, object_field->args, &buf)
 				|| !(value = ast_json_string_create(buf))
 				|| ast_json_object_set(json, object_field->name, value)) {
-				res = -1;
+				ast_free(buf);
+				ast_debug(5, "Skipping field '%s' for object type '%s'\n",
+					object_field->name, object_type->name);
+				continue;
 			}
 
 			ast_free(buf);