diff --git a/elliptical/dw_elliptical.c b/elliptical/dw_elliptical.c
index 6bb9a0415a01ac61c4f9804fca0095ca619eb524..6299847ff9b42ff27349a079fa67f712c15e7b81 100644
--- a/elliptical/dw_elliptical.c
+++ b/elliptical/dw_elliptical.c
@@ -402,11 +402,7 @@ TElliptical* CreateElliptical_TruncatedPower(int dim, TVector center, TMatrix sc
       elliptical->cummulative_radius=cummulative_radius_truncated_power;
       elliptical->draw_vector=draw_truncated_power;
       elliptical->print_info=print_info_truncated_power;
-#if defined(MATLAB_MEX_FILE) || defined(OCTAVE_MEX_FILE)
-      elliptical->free=(void (*)(void*))mxFree;
-#else
-      elliptical->free=(void (*)(void*))free;
-#endif
+      elliptical->free=(void (*)(void*))dw_free;
     }
 
   return elliptical;
diff --git a/include/dw_std.h b/include/dw_std.h
index 2ea91721d84cb700c7346588116c01a7271aed38..96b1bf20c6b5b638280dc53d79c56400fef382f5 100644
--- a/include/dw_std.h
+++ b/include/dw_std.h
@@ -26,12 +26,12 @@
 
 #include <stdlib.h>
 
-#define dw_malloc(n)  malloc(n)
-#define dw_calloc(n)  calloc(n)
-#define dw_realloc(buffer,n)  realloc(buffer,n)
-#define dw_free(buffer)  free(buffer)
+#define dw_malloc  malloc
+#define dw_calloc  calloc
+#define dw_realloc  realloc
+#define dw_free  free
 
-#define dw_exit(n) exit(n)
+#define dw_exit exit
 
 #endif