diff --git a/src/SingleShotAO.cpp b/src/SingleShotAO.cpp
index 19b614b6c455345cc20fcd51eb9e9a9bb8efd074..e101a1274e0c06c12daaf61f8363e6fff3053593 100755
--- a/src/SingleShotAO.cpp
+++ b/src/SingleShotAO.cpp
@@ -231,6 +231,30 @@ void SingleShotAO::init_device()
 	//- trace/profile this method
 	yat4tango::TraceHelper t("SingleShotAO::init_device", this);
 
+	// construct the AO manager
+	//--------------------------------------------
+	try
+	{
+		m_manager = new SingleShotAOManager(this);
+	}
+	catch (...)
+	{
+		ERROR_STREAM << "initialization failed - failed to create manager" << std::endl;
+		m_currStatus = "initialization failed [failed to create manager]. See log for details";
+		m_state = Tango::FAULT;
+		return;
+	}
+
+	// test the manager
+	if (!m_manager)
+	{
+		ERROR_STREAM << "initialization failed - the manager is not created" << std::endl;
+		m_currStatus = "initialization failed [the manager is not created]. See log for details";
+		m_state = Tango::FAULT;
+		return;
+	}
+	
+
 	// Initialise variables to default values
 	//--------------------------------------------
 
@@ -320,29 +344,6 @@ void SingleShotAO::init_device()
 
 	INFO_STREAM << "Board has " << m_nb_chan << " channels" << endl;
 
-	// construct the AO manager
-	//--------------------------------------------
-	try
-	{
-		m_manager = new SingleShotAOManager(this);
-	}
-	catch (...)
-	{
-		ERROR_STREAM << "initialization failed - failed to create manager" << std::endl;
-		m_currStatus = "initialization failed [failed to create manager]. See log for details";
-		m_state = Tango::FAULT;
-		return;
-	}
-
-	// test the manager
-	if (!m_manager)
-	{
-		ERROR_STREAM << "initialization failed - the manager is not created" << std::endl;
-		m_currStatus = "initialization failed [the manager is not created]. See log for details";
-		m_state = Tango::FAULT;
-		return;
-	}
-
 
 	// get frequency value in database
 	//--------------------------------------------