diff --git a/base/include/util/noncopyable.h b/base/include/util/noncopyable.h
new file mode 100644
index 0000000000..be0dee3cf9
--- /dev/null
+++ b/base/include/util/noncopyable.h
@@ -0,0 +1,40 @@
+/*
+ * \brief  Non-copyable objects design pattern.
+ * \author Stefan Kalkowski
+ * \date   2012-02-16
+ */
+
+/*
+ * Copyright (C) 2012 Genode Labs GmbH
+ *
+ * This file is part of the Genode OS framework, which is distributed
+ * under the terms of the GNU General Public License version 2.
+ */
+
+#ifndef _INCLUDE__UTIL__NONCOPYABLE_H_
+#define _INCLUDE__UTIL__NONCOPYABLE_H_
+
+namespace Genode {
+
+	/**
+	 * Classes of objects not allowed to be copied, should inherit from this one.
+	 *
+	 * This class declares a private copy-constructor and assignment-operator.
+	 * It's sufficient to inherit private from this class, and let the compiler
+	 * detect any copy violations.
+	 */
+	class Noncopyable
+	{
+		private:
+
+			Noncopyable(const Noncopyable&);
+			const Noncopyable& operator=(const Noncopyable&);
+
+		protected:
+
+			Noncopyable()  {}
+			~Noncopyable() {}
+	};
+}
+
+#endif /* _INCLUDE__UTIL__NONCOPYABLE_H_ */