diff --git a/runtime/indent/eruby.vim b/runtime/indent/eruby.vim
index d621bfa..9a68e54 100644
--- a/runtime/indent/eruby.vim
+++ b/runtime/indent/eruby.vim
@@ -12,13 +12,27 @@
 
 runtime! indent/ruby.vim
 unlet! b:did_indent
+set indentexpr=
 
-runtime! indent/html.vim
+if exists("b:eruby_subtype")
+  exe "runtime! indent/".b:eruby_subtype.".vim"
+else
+  runtime! indent/html.vim
+endif
 unlet! b:did_indent
 
+if &l:indentexpr == ''
+  if &l:cindent
+    let &l:indentexpr = 'cindent(v:lnum)'
+  else
+    let &l:indentexpr = 'indent(prevnonblank(v:lnum-1))'
+  endif
+endif
+let b:eruby_subtype_indentexpr = &l:indentexpr
+
 let b:did_indent = 1
 
-setlocal indentexpr=GetErubyIndent(v:lnum)
+setlocal indentexpr=GetErubyIndent()
 setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=else,=elsif,=rescue,=ensure,=when
 
 " Only define the function once.
@@ -26,19 +40,19 @@
   finish
 endif
 
-function! GetErubyIndent(lnum)
+function! GetErubyIndent()
   let vcol = col('.')
-  call cursor(a:lnum,1)
+  call cursor(v:lnum,1)
   let inruby = searchpair('<%','','%>')
-  call cursor(a:lnum,vcol)
-  if inruby && getline(a:lnum) !~ '^<%'
+  call cursor(v:lnum,vcol)
+  if inruby && getline(v:lnum) !~ '^<%'
     let ind = GetRubyIndent()
   else
-    let ind = HtmlIndentGet(a:lnum)
+    exe "let ind = ".b:eruby_subtype_indentexpr
   endif
-  let lnum = prevnonblank(a:lnum-1)
+  let lnum = prevnonblank(v:lnum-1)
   let line = getline(lnum)
-  let cline = getline(a:lnum)
+  let cline = getline(v:lnum)
   if cline =~# '<%\s*\%(end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%(-\=%>\|$\)'
     let ind = ind - &sw
   endif
