diff --git a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h
index f94757aa7244bff69a1d98b0fe7d4374aa723d01..b1dd85885f30a4ed3dd61c835e7732d779633b0f 100644
--- a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h
+++ b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h
@@ -42,8 +42,13 @@ namespace Utilities
          long long totalPhysMem = memInfo.totalram;
          //Multiply in next statement to avoid int overflow on right hand side...
          totalPhysMem *= memInfo.mem_unit;
-    #elif defined(MEMORYUTIL_APPLE)
-    long long totalPhysMem = 0;
+      #elif defined(MEMORYUTIL_APPLE)
+        int mib [] = { CTL_HW, HW_MEMSIZE };
+        int64_t totalPhysMem;
+        size_t length = sizeof(totalPhysMem);
+
+        if(sysctl(mib, 2, &totalPhysMem, &length, nullptr, 0) == -1)
+            return 0;
       #else
       #error "MemoryUtil::getTotalPhysMem - UnknownMachine"
       #endif