diff --git a/libraries/mne/c/mne_msh_display_surface.cpp b/libraries/mne/c/mne_msh_display_surface.cpp index d60138b4b78..0548d62861c 100644 --- a/libraries/mne/c/mne_msh_display_surface.cpp +++ b/libraries/mne/c/mne_msh_display_surface.cpp @@ -142,8 +142,8 @@ MneMshDisplaySurface::~MneMshDisplaySurface() FREE_44(subj); FREE_44(surf_name); FREE_44(picked); - if (user_data_free) - delete user_data; + if (user_data_free && user_data) + (*user_data_free)(user_data); for (int k = 0; k < nmap; k++) delete maps[k];