summaryrefslogtreecommitdiff
path: root/numpy/ma/core.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/ma/core.py')
-rw-r--r--numpy/ma/core.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py
index 2236c3846..b282861eb 100644
--- a/numpy/ma/core.py
+++ b/numpy/ma/core.py
@@ -1322,7 +1322,9 @@ class MaskedArray(ndarray):
_baseclass = type(obj)
else:
_baseclass = ndarray
- _basedict = getattr(obj, '_basedict', getattr(obj, '__dict__',{}))
+ # We need to copy the _basedict to avoid backward propagation
+ _basedict = {}
+ _basedict.update(getattr(obj, '_basedict', getattr(obj, '__dict__',{})))
_dict = dict(_fill_value=getattr(obj, '_fill_value', None),
_hardmask=getattr(obj, '_hardmask', False),
_sharedmask=getattr(obj, '_sharedmask', False),