diff --git a/src/DoocsPVFactory.cc b/src/DoocsPVFactory.cc
index a8887b0165bb69966deef8bb1827c10592b112ec..16f47f8a48b161f7f14675c31c0f38ab31b72492 100644
--- a/src/DoocsPVFactory.cc
+++ b/src/DoocsPVFactory.cc
@@ -51,6 +51,11 @@ namespace ChimeraTK {
       }// if name too long
     }// if scalar
 
+    // set read only mode if configures in the xml file or for output variables
+    if (!processArray->isWriteable() || !propertyDescription.isWriteable){
+      doocsPV->set_ro_access();
+    }
+
     return doocsPV;
   }
 
diff --git a/tests/DoocsVariableConfig.xml b/tests/DoocsVariableConfig.xml
index 27e3cc8d134a59fb3fe5ad4ab3db051cdeb6d8c0..a6f7c6916ccf1414609c78069e88bcdb44dcc5f0 100644
--- a/tests/DoocsVariableConfig.xml
+++ b/tests/DoocsVariableConfig.xml
@@ -7,6 +7,9 @@
     <property source="DATA_TYPE_CONSTANT">
       <has_history>false</has_history>
     </property>
+    <property source="TO_DEVICE_SCALAR">
+      <is_writeable>false</is_writeable>
+    </property>
   </location>
   <import>/</import>
 </device_server>