diff --git a/src/SingleShotAO.cpp b/src/SingleShotAO.cpp
index 9a61cc085325b14735d08b1b19cf0a8c59b61ad9..112ac3ef06a18f94ab35fe8755ff27b846a5e832 100755
--- a/src/SingleShotAO.cpp
+++ b/src/SingleShotAO.cpp
@@ -253,7 +253,7 @@ void SingleShotAO::init_device()
 		m_state = Tango::FAULT;
 		return;
 	}
-	
+
 
 	// Initialise variables to default values
 	//--------------------------------------------
@@ -681,83 +681,89 @@ void SingleShotAO::get_device_property()
 
 	// Call database and extract values
 	//--------------------------------------------
-	if (Tango::Util::instance()->_UseDb==true)
+	if (Tango::Util::instance()->_UseDb == true)
 	{
 		get_db_device()->get_property(dev_prop);
 	}
 
 	Tango::DbDatum def_prop, cl_prop;
 	SingleShotAOClass *ds_class = (static_cast<SingleShotAOClass *>(get_device_class()));
-	int	i = -1;
+	int i = -1;
 
 	//- <BoardNum> -----------------------
 	// Try to initialize BoardNum from class property
 	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty()==false)	cl_prop  >>  boardNum;
-	else {
+	if (cl_prop.is_empty() == false)
+		cl_prop >> boardNum;
+	else
+	{
 		// Try to initialize BoardNum from default device value
 		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
 		if (def_prop.is_empty() == false)
-		{
-			def_prop >> boardNum_default;
 			def_prop >> boardNum;
-		}
 	}
 	// And try to extract BoardNum value from database
-	if (dev_prop[i].is_empty() == false) dev_prop[i] >> boardNum;
+	if (dev_prop[i].is_empty() == false)
+		dev_prop[i] >> boardNum;
 	INFO_STREAM << "Raw BoardNum parsed: " << boardNum << endl;
 
 	//- <BoardType> -----------------------
 	// Try to initialize BoardType from class property
 	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty() == false) cl_prop >> boardType;
-	else {
+	if (cl_prop.is_empty() == false)
+		cl_prop >> boardType;
+	else
+	{
 		// Try to initialize BoardType from default device value
 		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
 		if (def_prop.is_empty() == false)
-		{
-			def_prop >> boardType_default;
 			def_prop >> boardType;
-		}
 	}
 	// And try to extract BoardType value from database
-	if (dev_prop[i].is_empty() == false) dev_prop[i] >> boardType;
+	if (dev_prop[i].is_empty() == false)
+		dev_prop[i] >> boardType;
 	INFO_STREAM << "Raw BoardType parsed: " << boardType << endl;
 
 	//- <EnableRamps> -----------------------
 	//	Try to initialize EnableRamps from class property
 	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty() == false) cl_prop >> enableRamps;
-	else {
+	if (cl_prop.is_empty() == false)
+		cl_prop >> enableRamps;
+	else
+	{
 		//	Try to initialize EnableRamps from default device value
 		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
 		if (def_prop.is_empty() == false)
-		{
-			def_prop >> enableRamps_default;
 			def_prop >> enableRamps;
-		}
 	}
 	//	And try to extract EnableRamps value from database
-	if (dev_prop[i].is_empty() == false) dev_prop[i] >> enableRamps;
+	if (dev_prop[i].is_empty() == false)
+		dev_prop[i] >> enableRamps;
 	INFO_STREAM << "EnableRamps parsed: " << (enableRamps ? "true" : "false") << endl;
 
 	//- <OutputMemorizedChannelsAtInit> -----------------------
 	//	Try to initialize OutputMemorizedChannelsAtInit from class property
 	cl_prop = ds_class->get_class_property(dev_prop[++i].name);
-	if (cl_prop.is_empty() == false) cl_prop >> outputMemorizedChannelsAtInit;
-	else {
+	if (cl_prop.is_empty() == false)
+		cl_prop >> outputMemorizedChannelsAtInit;
+	else
+	{
 		//	Try to initialize OutputMemorizedChannelsAtInit from default device value
 		def_prop = ds_class->get_default_device_property(dev_prop[i].name);
 		if (def_prop.is_empty() == false)
-		{
-			def_prop >> outputMemorizedChannelsAtInit_default;
 			def_prop >> outputMemorizedChannelsAtInit;
-		}
 	}
 	//	And try to extract OutputMemorizedChannelsAtInit value from database
-	if (dev_prop[i].is_empty() == false) dev_prop[i] >> outputMemorizedChannelsAtInit;
+	if (dev_prop[i].is_empty() == false)
+		dev_prop[i] >> outputMemorizedChannelsAtInit;
 	INFO_STREAM << "OutputMemorizedChannelsAtInit parsed: " << (outputMemorizedChannelsAtInit ? "true" : "false") << endl;
 
+	// Get default values from class
+	//--------------------------------------------
+	ds_class->get_default_device_property(std::string("BoardNum")) >> boardNum_default;
+	ds_class->get_default_device_property(std::string("BoardType")) >> boardType_default;
+	ds_class->get_default_device_property(std::string("EnableRamps")) >> enableRamps_default;
+	ds_class->get_default_device_property(std::string("OutputMemorizedChannelsAtInit")) >> outputMemorizedChannelsAtInit_default;
 
 	// Create properties if empty and set default values
 	//--------------------------------------------