diff --git a/mlprec/impl/level/mld_c_base_onelev_free.f90 b/mlprec/impl/level/mld_c_base_onelev_free.f90 index 943522c7..c1f71ad1 100644 --- a/mlprec/impl/level/mld_c_base_onelev_free.f90 +++ b/mlprec/impl/level/mld_c_base_onelev_free.f90 @@ -54,6 +54,9 @@ subroutine mld_c_base_onelev_free(lv,info) if (allocated(lv%sm)) & & call lv%sm%free(info) + if (allocated(lv%sm2a)) & + & call lv%sm2a%free(info) + if (allocated(lv%wrk)) & & call lv%wrk%free(info) diff --git a/mlprec/impl/level/mld_d_base_onelev_free.f90 b/mlprec/impl/level/mld_d_base_onelev_free.f90 index 1dc24733..beef8edd 100644 --- a/mlprec/impl/level/mld_d_base_onelev_free.f90 +++ b/mlprec/impl/level/mld_d_base_onelev_free.f90 @@ -54,6 +54,9 @@ subroutine mld_d_base_onelev_free(lv,info) if (allocated(lv%sm)) & & call lv%sm%free(info) + if (allocated(lv%sm2a)) & + & call lv%sm2a%free(info) + if (allocated(lv%wrk)) & & call lv%wrk%free(info) diff --git a/mlprec/impl/level/mld_s_base_onelev_free.f90 b/mlprec/impl/level/mld_s_base_onelev_free.f90 index bcb44113..de1a39ce 100644 --- a/mlprec/impl/level/mld_s_base_onelev_free.f90 +++ b/mlprec/impl/level/mld_s_base_onelev_free.f90 @@ -54,6 +54,9 @@ subroutine mld_s_base_onelev_free(lv,info) if (allocated(lv%sm)) & & call lv%sm%free(info) + if (allocated(lv%sm2a)) & + & call lv%sm2a%free(info) + if (allocated(lv%wrk)) & & call lv%wrk%free(info) diff --git a/mlprec/impl/level/mld_z_base_onelev_free.f90 b/mlprec/impl/level/mld_z_base_onelev_free.f90 index 51dcadf5..2e2af950 100644 --- a/mlprec/impl/level/mld_z_base_onelev_free.f90 +++ b/mlprec/impl/level/mld_z_base_onelev_free.f90 @@ -54,6 +54,9 @@ subroutine mld_z_base_onelev_free(lv,info) if (allocated(lv%sm)) & & call lv%sm%free(info) + if (allocated(lv%sm2a)) & + & call lv%sm2a%free(info) + if (allocated(lv%wrk)) & & call lv%wrk%free(info)