Index: src/Filling/Filler.cpp
===================================================================
--- src/Filling/Filler.cpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Filler.cpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -70,6 +70,7 @@
  * @param copyMethod functor that knows how to copy atoms.
  * @param cluster set of atomic ids contained in a specific Shape to fill each Node with
+ * @return true - at least one node has been filled, false - no node filled
  */
-void Filler::operator()(
+bool Filler::operator()(
     CopyAtomsInterface &copyMethod,
     ClusterInterface::Cluster_impl cluster) const
@@ -79,9 +80,6 @@
   std::for_each( nodes.begin(), nodes.end(), output << boost::lambda::_1 << " ");
   LOG(3, "DEBUG: Listing nodes to check: " << output.str());
-  if (nodes.size() == 0) {
-    ASSERT(false,
-      "Filler::operator() - Mesh contains no nodes.");
-    return;
-  }
+  if (nodes.size() == 0)
+    return false;
   NodeSet FillNodes(nodes.size(), zeroVec);
 
@@ -93,5 +91,5 @@
   if (FillNodes.size() == 0) {
     ELOG(2, "For none of the nodes did the predicate return true.");
-    return;
+    return false;
   } else {
     LOG(1, "INFO: " << FillNodes.size() << " out of " << nodes.size() << " returned true from predicate.");
@@ -105,4 +103,10 @@
       boost::bind(&Inserter::operator(), boost::cref(inserter), boost::ref(copyMethod), boost::cref(cluster), _1) );
 
+  // give statment whether at least \a cluster was placed
+  if ( FillNodes.size() != 0)
+    return true;
+  else
+    return false;
+
   // move cluster to first node
   cluster->translate(*FillNodes.begin());
Index: src/Filling/Filler.hpp
===================================================================
--- src/Filling/Filler.hpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Filler.hpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -35,5 +35,5 @@
   ~Filler();
 
-  void operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster) const;
+  bool operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster) const;
 
 private:
Index: src/Filling/Inserter/Inserter.cpp
===================================================================
--- src/Filling/Inserter/Inserter.cpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Inserter/Inserter.cpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -46,5 +46,5 @@
 {}
 
-void Inserter::operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const
+bool Inserter::operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const
 {
   return impl->operator()(copyMethod, cluster, offset);
Index: src/Filling/Inserter/Inserter.hpp
===================================================================
--- src/Filling/Inserter/Inserter.hpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Inserter/Inserter.hpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -38,5 +38,5 @@
   Inserter(impl_ptr);
   ~Inserter();
-  void operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const;
+  bool operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const;
 
 protected:
Index: src/Filling/Inserter/InserterBase.hpp
===================================================================
--- src/Filling/Inserter/InserterBase.hpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Inserter/InserterBase.hpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -29,5 +29,5 @@
   virtual ~InserterBase() {}
 
-  virtual void operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const = 0;
+  virtual bool operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const = 0;
 
 };
Index: src/Filling/Inserter/SimpleInserter.cpp
===================================================================
--- src/Filling/Inserter/SimpleInserter.cpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Inserter/SimpleInserter.cpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -41,7 +41,10 @@
  * @param copyMethod functor for copying atoms
  * @param offset
+ * @return always true
  */
-void SimpleInserter::operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const
+bool SimpleInserter::operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const
 {
-  cluster->clone(copyMethod, offset);
+  ClusterInterface::Cluster_impl newcluster(cluster->clone(copyMethod, offset));
+
+  return (newcluster != NULL);
 }
Index: src/Filling/Inserter/SimpleInserter.hpp
===================================================================
--- src/Filling/Inserter/SimpleInserter.hpp	(revision f61f610060cf4f27c505a50acd437f8a6b56abf8)
+++ src/Filling/Inserter/SimpleInserter.hpp	(revision 68abe5f58a8e654ce9fa978466f421b7b52a0fa0)
@@ -26,5 +26,5 @@
   ~SimpleInserter();
 
-  void operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const;
+  bool operator()(CopyAtomsInterface &copyMethod, ClusterInterface::Cluster_impl cluster, const Vector &offset) const;
 };
 
