diff --git a/pykat/components.py b/pykat/components.py
index 8cd8c8142189c9a9abb9cfd99814e2d11f475527..f21bb74135a79552a5af42d92bf3990479ab6907 100644
--- a/pykat/components.py
+++ b/pykat/components.py
@@ -209,6 +209,19 @@ class Component(object):
         del self._params[:]
 
         self.__removed = True
+
+    def __deepcopy__(self, memo):
+        cls = self.__class__
+        result = cls.__new__(cls)
+        memo[id(self)] = result
+        
+        for k, v in self.__dict__.items():
+            setattr(result, k, deepcopy(v, memo))
+        
+        for p in result._params:
+            p._updateOwner(result)
+        
+        return result
             
 class AbstractMirrorComponent(Component):
     __metaclass__ = abc.ABCMeta