@@ -1408,19 +1408,17 @@ createPackage(text *name, bool is_trans)
14081408
14091409if (found )
14101410{
1411+ TransObject * transObj = & package -> transObject ;
1412+
1413+ if (!isObjectChangedInCurrentTrans (transObj ))
1414+ createSavepoint (transObj ,TRANS_PACKAGE );
1415+
14111416if (!GetActualState (package )-> is_valid )
1412- /* Make package valid again */
14131417{
14141418HASH_SEQ_STATUS vstat ;
14151419Variable * variable ;
1416- TransObject * transObj = & package -> transObject ;
1417-
1418- /* Make new history entry of package */
1419- if (!isObjectChangedInCurrentTrans (transObj ))
1420- createSavepoint (transObj ,TRANS_PACKAGE );
14211420
14221421GetActualState (package )-> is_valid = true;
1423-
14241422/* Mark all transactional variables in package as removed */
14251423if (package -> varHashTransact )
14261424{
@@ -1448,14 +1446,14 @@ createPackage(text *name, bool is_trans)
14481446package -> hctxRegular = NULL ;
14491447package -> hctxTransact = NULL ;
14501448initObjectHistory (& package -> transObject ,TRANS_PACKAGE );
1451- /* Add to changes list */
1452- if (!isObjectChangedInCurrentTrans (& package -> transObject ))
1453- addToChangesStack (& package -> transObject ,TRANS_PACKAGE );
14541449}
14551450
14561451/* Create corresponding HTAB if not exists */
14571452if (!pack_htab (package ,is_trans ))
14581453makePackHTAB (package ,is_trans );
1454+ /* Add to changes list */
1455+ if (!isObjectChangedInCurrentTrans (& package -> transObject ))
1456+ addToChangesStack (& package -> transObject ,TRANS_PACKAGE );
14591457
14601458return package ;
14611459}