diff --git a/src/finam/sdk/output.py b/src/finam/sdk/output.py
index 8bb67507376e3f61bd6dba864d7c72627dea24c0..ef5b31826bdb149ec5f458bf79d7d9634c75efb0 100644
--- a/src/finam/sdk/output.py
+++ b/src/finam/sdk/output.py
@@ -4,9 +4,12 @@ Implementations of IOutput
 import logging
 from datetime import datetime
 
+import numpy as np
+
 from ..data import tools
 from ..data.tools import Info
 from ..errors import (
+    FinamDataError,
     FinamMetaDataError,
     FinamNoDataError,
     FinamStaticDataError,
@@ -144,7 +147,17 @@ class Output(IOutput, Loggable):
             time = None
 
         with ErrorLogger(self.logger):
-            self.data.append((time, tools.to_xarray(data, self.name, self.info, time)))
+            xdata = tools.to_xarray(data, self.name, self.info, time)
+            if len(self.data) > 0:
+                d = self.data[-1][1]
+                if np.may_share_memory(
+                    tools.get_magnitude(d), tools.get_magnitude(xdata)
+                ):
+                    raise FinamDataError(
+                        "Received data that shares memory with previously received data."
+                    )
+
+            self.data.append((time, xdata))
 
         self._time = time