diff --git a/bindings/dotnet/default.build b/bindings/dotnet/default.build
index fa748d68..cb76ebc1 100644
--- a/bindings/dotnet/default.build
+++ b/bindings/dotnet/default.build
@@ -25,6 +25,7 @@
diff --git a/bindings/dotnet/src/Sigar.cs b/bindings/dotnet/src/Sigar.cs
index 51b8fa60..b2fff3aa 100644
--- a/bindings/dotnet/src/Sigar.cs
+++ b/bindings/dotnet/src/Sigar.cs
@@ -31,13 +31,16 @@ namespace Hyperic.Sigar {
internal HandleRef sigar;
[DllImport(LIBSIGAR)]
- private static extern IntPtr sigar_new();
+ unsafe private static extern int sigar_open(IntPtr *sigar);
[DllImport(LIBSIGAR)]
private static extern int sigar_close(IntPtr sigar);
public Sigar() {
- IntPtr handle = sigar_new();
+ IntPtr handle;
+ unsafe { //&pointers are considered "unsafe"
+ sigar_open(&handle);
+ }
this.sigar = new HandleRef(this, handle);
}