diff --git a/ContextSaver.py b/ContextSaver.py
index 09efdbc9e95c8103827c5d265a96d0941f94d369..63c23fbff0f2237b480b6923c6884bcbabe7a570 100644
--- a/ContextSaver.py
+++ b/ContextSaver.py
@@ -9,6 +9,7 @@ import PyTango as tango
 import logging
 import argparse
 import json
+import numpy
 
 __version__ = "1.0.0"
 
@@ -32,15 +33,25 @@ def get_wattr(proxy):
 
     # Scan all attributes
     for attr in proxy.get_attribute_list():
-        if proxy.get_attribute_config(attr).writable in [
-                tango.AttrWriteType.WRITE,
-                tango.AttrWriteType.READ_WRITE,
-                tango.AttrWriteType.READ_WITH_WRITE]:
-            config[attr]=proxy[attr].value
-
-            logger.debug("Detect writtable attribute %s = %s"%(
-                attr,
-                proxy[attr].value))
+        logger.debug("Analyse attribute '%s' "%(
+                attr))
+
+        try:
+            if proxy.get_attribute_config(attr).writable in [
+                    tango.AttrWriteType.WRITE,
+                    tango.AttrWriteType.READ_WRITE,
+                    tango.AttrWriteType.READ_WITH_WRITE]:
+                v= proxy[attr].value
+                if type(v) is numpy.ndarray:
+                    v=v.tolist()
+
+                config[attr]=v
+
+                logger.debug("Detect writtable attribute '%s' = %s"%(
+                    attr,
+                    proxy[attr].value))
+        except tango.DevFailed:
+            logger.warning("Failed to save attribute '%s'"%attr)
 
     return config