diff --git a/Src/GroupTree/Core/FGroupTaskStarpuMpiAlgorithm.hpp b/Src/GroupTree/Core/FGroupTaskStarpuMpiAlgorithm.hpp
index 0840040c0b3a9971b9a8356eaa0bf2249a425606..da40ff89e625e90a5d8b0fdd3e06f0cfbb38f195 100644
--- a/Src/GroupTree/Core/FGroupTaskStarpuMpiAlgorithm.hpp
+++ b/Src/GroupTree/Core/FGroupTaskStarpuMpiAlgorithm.hpp
@@ -1402,9 +1402,12 @@ protected:
             for(int idxHandle = 0 ; idxHandle < int(remoteCellGroups[idxLevel].size()) ; ++idxHandle){
                 if(remoteCellGroups[idxLevel][idxHandle].ptrSymb){
                     starpu_data_unregister(remoteCellGroups[idxLevel][idxHandle].handleSymb);
-                    starpu_data_unregister(remoteCellGroups[idxLevel][idxHandle].handleUp);
                     FAlignedMemory::DeallocBytes(remoteCellGroups[idxLevel][idxHandle].ptrSymb);
-                    FAlignedMemory::DeallocBytes(remoteCellGroups[idxLevel][idxHandle].ptrUp);
+
+                    if(remoteCellGroups[idxLevel][idxHandle].ptrUp){
+                        starpu_data_unregister(remoteCellGroups[idxLevel][idxHandle].handleUp);
+                        FAlignedMemory::DeallocBytes(remoteCellGroups[idxLevel][idxHandle].ptrUp);
+                    }
 
                     if(remoteCellGroups[idxLevel][idxHandle].ptrDown){
                         starpu_data_unregister(remoteCellGroups[idxLevel][idxHandle].handleDown);