Index: /vis_dev/vis-2.3/src/debug/debug.c
===================================================================
--- /vis_dev/vis-2.3/src/debug/debug.c	(revision 36)
+++ /vis_dev/vis-2.3/src/debug/debug.c	(revision 37)
@@ -598,4 +598,7 @@
 	return 1;
 }
+if (verbose)
+  mdd_FunctionPrintMain (mddManager ,rel,"REL",vis_stdout);
+
 
 /** Get image_info **/
@@ -634,22 +637,25 @@
 	Part_VertexSetFunction(vertex, newMvf);
 //	printf("vertex %s changed % d\n",PartVertexReadName(vertex));
-	Mvf_FunctionFree(mvf);
-}
-
-/** Change the fsm **/
-fsm = Fsm_FsmCreateFromNetworkWithPartition(network, partition);
+}
+
+/** Change the fsm and the network with a new partition and the new fsm **/
+Ntk_NetworkSetApplInfo(network, PART_NETWORK_APPL_KEY,
+					  (Ntk_ApplInfoFreeFn) Part_PartitionFreeCallback,
+					  (void *) partition);
+fsm = Fsm_FsmCreateFromNetworkWithPartition(network, NIL(graph_t));
 mdd_t * init  = Fsm_FsmComputeInitialStates(fsm);
-Fsm_FsmComputeReachableStates(fsm,0,verbose,
+mdd_t * reach = Fsm_FsmComputeReachableStates(fsm,0,verbose,
 				      0,0, 0,
 				      0, 0, Fsm_Rch_Default_c,
 				      0,1, NIL(array_t),
 				      (verbose > 0),  NIL(array_t));
+fsm->reachabilityInfo.initialStates = init;
+fsm->reachabilityInfo.reachableStates = reach;
 if(verbose)
 	Fsm_FsmReachabilityPrintResults(fsm,3, 0);
-/** Change Image Info **/
-Ntk_NetworkSetApplInfo(network, PART_NETWORK_APPL_KEY,
-					  (Ntk_ApplInfoFreeFn) Part_PartitionFreeCallback,
-					  (void *) partition);
-
+
+Ntk_NetworkSetApplInfo(network, FSM_NETWORK_APPL_KEY,
+			 (Ntk_ApplInfoFreeFn) Fsm_FsmFreeCallback,
+			 (void *) fsm);
 
 return 0;		/* normal exit */
