diff --git a/plugins/rvm/rvm.fish b/plugins/rvm/rvm.fish
index cbbd0de980f34803be3335234a96ce23e956dfb6..ebe2be8e68828f6d316d62043a256c79138d1942 100644
--- a/plugins/rvm/rvm.fish
+++ b/plugins/rvm/rvm.fish
@@ -1,14 +1,16 @@
 function rvm -d 'Ruby enVironment Manager'
+
   # run RVM and capture the resulting environment
   set -l env_file (mktemp -t rvm.fish.XXXXXXXXXX)
-  bash -c '[ -e ~/.rvm/scripts/rvm ] && source ~/.rvm/scripts/rvm || source /usr/local/rvm/scripts/rvm; cd .;rvm "$@"; status=$?; env > "$0"; exit $status' $env_file $argv
+
+  bash -c '[ -e ~/.rvm/scripts/rvm ] && source ~/.rvm/scripts/rvm || source /usr/local/rvm/scripts/rvm; rvm "$@"; status=$?; env > "$0"; exit $status' $env_file $argv
 
   # grep the rvm_* *PATH RUBY_* GEM_* variables from the captured environment
   # exclude lines with _clr and _debug
   # apply rvm_* *PATH RUBY_* GEM_* variables from the captured environment
-
   and eval (grep '^rvm\|^[^=]*PATH\|^RUBY_\|^GEM_' $env_file |grep -v _clr |grep -v _debug| sed '/^[^=]*PATH/y/:/ /; s/^/set -xg /; s/=/ /; s/$/ ;/; s/(//; s/)//')
 
   # clean up
   rm -f $env_file
+
 end
diff --git a/plugins/rvm/rvm.load b/plugins/rvm/rvm.load
index b8084b587fccef78a9d35db1a38b5f4c8a11bbe0..29b76a78fdfc60631f5ef6a7d6a1b71505acd258 100644
--- a/plugins/rvm/rvm.load
+++ b/plugins/rvm/rvm.load
@@ -13,7 +13,8 @@ function __check_rvm --on-variable PWD --description 'Setup rvm on directory cha
         break
       else
         if begin ; test -s ".rvmrc" ; or test -s ".ruby-version" ; or test -s ".ruby-gemset" ; or test -s ".versions.conf" ; end
-          rvm reload 1>/dev/null 2>&1
+          rvm reload 1> /dev/null 2>&1
+          rvm rvmrc load 1>/dev/null 2>&1
           break
         else
           set cwd (dirname "$cwd")