diff --git a/lib/gir_ffi/out_pointer.rb b/lib/gir_ffi/out_pointer.rb
index <HASH>..<HASH> 100644
--- a/lib/gir_ffi/out_pointer.rb
+++ b/lib/gir_ffi/out_pointer.rb
@@ -1,12 +1,14 @@
+require 'gir_ffi/in_out_pointer'
+
 module GirFFI
   # The OutPointer class handles setup of pointers and their conversion to
   # ruby types for arguments with direction :out.
-  class OutPointer < FFI::Pointer
+  class OutPointer < InOutPointer
     def self.for type
-      ffi_type = InOutPointer.type_to_ffi_type type
+      ffi_type = type_to_ffi_type type
       ptr = AllocationHelper.safe_malloc(FFI.type_size ffi_type)
       ptr.send "put_#{ffi_type}", 0, 0
-      self.new ptr
+      self.new ptr, type, ffi_type
     end
   end
 end
Base OutPointer on InOutPointer. Preparing for merge.