diff --git a/kadmos/vistoms/vistoms.py b/kadmos/vistoms/vistoms.py
index 09bfd065541b9cfe567294029648a679c828b9fd..6b95aae72e72ffd4562e13ad9aeb214c52db345a 100644
--- a/kadmos/vistoms/vistoms.py
+++ b/kadmos/vistoms/vistoms.py
@@ -708,6 +708,7 @@ def kadmosChangeNodePos():
             function_order.insert(newPos, nodeName)
             if isinstance(graph, FundamentalProblemGraph):
                 graph.graph['problem_formulation']['function_order'] = function_order
+                graph.add_function_problem_roles()
 
             # Add the graph with the updated function order to VISTOMS
             newVistomsData = graph.vistoms_add_json(function_order=function_order, graph_id=graphID, mpg=mpg)
@@ -1091,6 +1092,7 @@ def kadmosGetPossibleFunctionOrder():
             function_order = fpg.get_possible_function_order(method)
             fpg.assert_or_add_nested_attribute(['problem_formulation', 'mdao_architecture'], 'undefined')
             fpg.graph['problem_formulation']['function_order'] = function_order
+            fpg.add_function_problem_roles()
 
             # Save the graph in temp/tmp.kdms
             fpg.save(os.path.join(UPLOAD_FOLDER, TEMP_FILE + '_' + graphID + '.kdms'),