diff --git a/examples/test_ffi_struct.rb b/examples/test_ffi_struct.rb
index <HASH>..<HASH> 100644
--- a/examples/test_ffi_struct.rb
+++ b/examples/test_ffi_struct.rb
@@ -2,28 +2,18 @@ require 'ffi'
 require 'forwardable'
 
 module Blub
-  class Struct < FFI::Struct
-    class << self
-      def find_type(type, mod = nil)
-	if type.respond_to?(:ffi_structure)
-	  super type.ffi_structure, mod
-	else
-	  super type, mod
-	end
-      end
-    end
-  end
-
   class Foo
     extend Forwardable
     def_delegators :@struct, :[], :to_ptr
 
-    class Struct < Blub::Struct
+    class Struct < FFI::Struct
       layout :a, :int, :b, :int
     end
 
     def initialize(ptr=nil)
-      @struct = self.ffi_structure.new(ptr)
+      @struct = ptr.nil? ?
+	self.ffi_structure.new :
+	self.ffi_structure.new(ptr)
     end
 
     def ffi_structure
@@ -38,8 +28,8 @@ module Blub
   end
 
   class Bar < Foo
-    class Struct < Blub::Struct
-      layout :p, Foo, :c, :int
+    class Struct < FFI::Struct
+      layout :p, Foo.ffi_structure, :c, :int
     end
   end
 end
Stop overriding find_type.

This is not compatible with ffi's master, nor with jruby's ffi. Probably
also not with rubinius' ffi, once that works with nested structs again.