diff --git a/src/core/Deprecated.h b/src/core/Deprecated.h
deleted file mode 100644
index 8e9fb843a77635ddbb853550ed980fe0be065062..0000000000000000000000000000000000000000
--- a/src/core/Deprecated.h
+++ /dev/null
@@ -1,50 +0,0 @@
-//======================================================================================================================
-//
-//  This file is part of waLBerla. waLBerla is free software: you can 
-//  redistribute it and/or modify it under the terms of the GNU General Public
-//  License as published by the Free Software Foundation, either version 3 of 
-//  the License, or (at your option) any later version.
-//  
-//  waLBerla is distributed in the hope that it will be useful, but WITHOUT 
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
-//  for more details.
-//  
-//  You should have received a copy of the GNU General Public License along
-//  with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
-//
-//! \file Deprecated.h
-//! \ingroup core
-//! \author Christian Godenschwager <christian.godenschwager@fau.de>
-//
-//======================================================================================================================
-
-#pragma once
-
-
-
-/*******************************************************************************************************************//**
- * \brief   Macro to mark a function as deprecated
- *
- * To mark a function as deprecated wrap its signature with the WALBERLA_DEPRECATED macro at the definition.
- * E.g. to mark int f(const & foo) const; as deprecated use WALBERLA_DEPRECATED(int f(const & foo) const);
- * Note that this won't work for functions with a comma in their return type definition! E.g. to mark
- * std::pair<int,int> f(); as deprecated add a typedef std::pair<int, int> PairInt; first an then deprecate
- * via WALBERLA_DEPRECATE(PairInt f());
- * Deprecation of a function will produce a compiler warning if the function is used despite it's deprecation.
- *
- * \param   func  The function to be marked deprecated.
- **********************************************************************************************************************/
-
-#ifdef __GNUC__
-#  define WALBERLA_DEPRECATED(func) func __attribute__ ((deprecated))
-#elif defined(_MSC_VER)
-#  define WALBERLA_DEPRECATED(func) __declspec(deprecated) func
-#elif defined(__IBMCPP__)
-#  define WALBERLA_DEPRECATED(func) func // xlc++ (12.1) has no obvious possibility for deprecation
-#elif defined(_SX)
-#  define WALBERLA_DEPRECATED(func) __declspec(deprecated) func
-#else
-#  pragma message("WARNING: You need to implement WALBERLA_DEPRECATED for this compiler!")
-#  define WALBERLA_DEPRECATED(func) func
-#endif
diff --git a/src/core/all.h b/src/core/all.h
index e15f23d38a366a824984bd1e3536c36ad86c7083..2e804b55a1b2a6ec878d7321612dfe97d56f047d 100644
--- a/src/core/all.h
+++ b/src/core/all.h
@@ -26,7 +26,6 @@
 #include "AllSet.h"
 #include "Array.h"
 #include "DataTypes.h"
-#include "Deprecated.h"
 #include "EndianIndependentSerialization.h"
 #include "Environment.h"
 #include "FunctionTraits.h"
diff --git a/src/pe/fcd/SimpleFCDDataHandling.h b/src/pe/fcd/SimpleFCDDataHandling.h
index 1fce240e0b3db419f2bb4ede1048d93ec06a22e8..ae787ffe54b41749cbc2f4471a1626bd9209a403 100644
--- a/src/pe/fcd/SimpleFCDDataHandling.h
+++ b/src/pe/fcd/SimpleFCDDataHandling.h
@@ -23,7 +23,6 @@
 #include "SimpleFCD.h"
 
 #include "blockforest/BlockDataHandling.h"
-#include "core/Deprecated.h"
 
 namespace walberla{
 namespace pe{
@@ -35,9 +34,9 @@ public:
     SimpleFCD<BodyTypeTuple> * initialize( IBlock * const /*block*/ ) {return new SimpleFCD<BodyTypeTuple>();}
 };
 
-/// \attention This function is deprecated. Use createGenericFCDDataHandling<BodyTypeTuple, AnalyticCollideFunctor>() instead!
+[[deprecated("Use createGenericFCDDataHandling<BodyTypeTuple, AnalyticCollideFunctor>() instead")]]
 template <typename BodyTypeTuple>
-WALBERLA_DEPRECATED(shared_ptr<SimpleFCDDataHandling<BodyTypeTuple> > createSimpleFCDDataHandling());
+shared_ptr<SimpleFCDDataHandling<BodyTypeTuple> > createSimpleFCDDataHandling();
 
 template <typename BodyTypeTuple>
 shared_ptr<SimpleFCDDataHandling<BodyTypeTuple> > createSimpleFCDDataHandling()