Index: libs/ardour/session_state.cc
===================================================================
--- libs/ardour/session_state.cc	(revision 8514)
+++ libs/ardour/session_state.cc	(working copy)
@@ -1094,11 +1094,15 @@
 	child = node->add_child ("Regions");
 
 	if (full_state) {
+	  
 		Glib::Mutex::Lock rl (region_lock);
                 const RegionFactory::RegionMap& region_map (RegionFactory::all_regions());
-                for (RegionFactory::RegionMap::const_iterator i = region_map.begin(); i != region_map.end(); ++i) {
-                        boost::shared_ptr<Region> r = i->second;
-                        /* only store regions not attached to playlists */
+                
+		for (RegionFactory::RegionMap::const_iterator i = region_map.begin(); i != region_map.end(); ++i) {
+
+			boost::shared_ptr<Region> r = i->second;
+                        
+			/* only store regions not attached to playlists */
                         if (r->playlist() == 0) {
                                 child->add_child_nocopy (r->state ());
                         }
@@ -2384,11 +2388,7 @@
 	UndoTransaction* trans = new UndoTransaction();
 	trans->set_name(name);
 
-	if (!_current_trans.empty()) {
-		_current_trans.top()->add_command (trans);
-	} else {
-		_current_trans.push(trans);
-	}
+	_current_trans.push(trans);
 }
 
 void
