diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index a78b85e..a6b3e51 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -1248,6 +1248,7 @@ EngineControl::get_state ()
 
 	if (!states.empty()) {
 		XMLNode* state_nodes = new XMLNode ("EngineStates");
+		bool unique_state = (states.size() == 1);
 
 		for (StateList::const_iterator i = states.begin(); i != states.end(); ++i) {
 
@@ -1262,7 +1263,7 @@ EngineControl::get_state ()
 			node->add_property ("output-latency", (*i)->output_latency);
 			node->add_property ("input-channels", (*i)->input_channels);
 			node->add_property ("output-channels", (*i)->output_channels);
-			node->add_property ("active", (*i)->active ? "yes" : "no");
+			node->add_property ("active", (*i)->active || unique_state ? "yes" : "no");
 			node->add_property ("midi-option", (*i)->midi_option);
 
 			XMLNode* midi_devices = new XMLNode ("MIDIDevices");
