diff --git a/src/if_ruby.c b/src/if_ruby.c
index d79d0ee..f1752f0 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -144,6 +144,7 @@
 #endif
 
 static int ruby_initialized = 0;
+static void *ruby_stack_start;
 static VALUE objtbl;
 
 static VALUE mVIM;
@@ -226,6 +227,7 @@
 # define rb_float_new			dll_rb_float_new
 # define rb_ary_new			dll_rb_ary_new
 # define rb_ary_push			dll_rb_ary_push
+# define ruby_init_stack		dll_ruby_init_stack
 #else
 # define rb_str2cstr			dll_rb_str2cstr
 #endif
@@ -250,7 +252,6 @@
 # define rb_enc_str_new			dll_rb_enc_str_new
 # define rb_sprintf			dll_rb_sprintf
 # define rb_require			dll_rb_require
-# define ruby_init_stack		dll_ruby_init_stack
 # define ruby_process_options		dll_ruby_process_options
 #endif
 
@@ -335,6 +336,7 @@
 static VALUE (*dll_rb_float_new) (double);
 static VALUE (*dll_rb_ary_new) (void);
 static VALUE (*dll_rb_ary_push) (VALUE, VALUE);
+static void (*ruby_init_stack)(VALUE*);
 #endif
 #ifdef RUBY19_OR_LATER
 static VALUE (*dll_rb_int2big)(SIGNED_VALUE);
@@ -347,7 +349,6 @@
 static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
 static VALUE (*dll_rb_sprintf) (const char*, ...);
 static VALUE (*dll_rb_require) (const char*);
-static void (*ruby_init_stack)(VALUE*);
 static void* (*ruby_process_options)(int, char**);
 #endif
 
@@ -475,6 +476,7 @@
 #endif
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
     {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
+    {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
 # if DYNAMIC_RUBY_VER <= 19
     {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new},
 # else
@@ -491,7 +493,6 @@
     {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
     {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
     {"rb_require", (RUBY_PROC*)&dll_rb_require},
-    {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
     {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
 #endif
     {"", NULL},
@@ -716,8 +717,8 @@
 	    NtInitialize(&argc, &argv);
 #endif
 	    {
-#ifdef RUBY19_OR_LATER
-		RUBY_INIT_STACK;
+#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
+		ruby_init_stack(ruby_stack_start);
 #endif
 		ruby_init();
 	    }
@@ -1389,3 +1390,9 @@
     rb_define_virtual_variable("$curbuf", buffer_s_current, 0);
     rb_define_virtual_variable("$curwin", window_s_current, 0);
 }
+
+void vim_ruby_init(void *stack_start)
+{
+    /* should get machine stack start address early in main function */
+    ruby_stack_start = stack_start;
+}
