diff --git a/pkg/omf/cli/omf.destroy.fish b/pkg/omf/cli/omf.destroy.fish
index 1e7a6f79d06fc5b3a2e5c85430e6aa88b5027454..5e56f8a493c726994c6066b757cb4b9c195f9fa2 100644
--- a/pkg/omf/cli/omf.destroy.fish
+++ b/pkg/omf/cli/omf.destroy.fish
@@ -1,10 +1,19 @@
 function omf.destroy -d "Remove Oh My Fish"
   echo (omf::dim)"Removing Oh My Fish..."(omf::off)
 
-  omf.remove_package (basename $OMF_PATH/pkg/*) >/dev/null ^&1
+  for pkg in (basename $OMF_PATH/pkg/*)
+    omf.remove_package $pkg >/dev/null ^&1
+  end
+
+  set -l fish_config $XDG_CONFIG_HOME/fish
+  if test "$fish_config" = "/fish"
+    set fish_config $HOME/.config/fish
+  end
 
-  if test -e "$HOME/.config/fish/config.copy"
-    mv "$HOME/.config/fish/config".{copy,fish}
+  set -l localbackup (find $fish_config -regextype posix-extended -regex '^.*fish/config\.[[:digit:]]+\.copy$' |\
+    sort -r |head -1)
+  if test -n $localbackup
+    mv $localbackup "$fish_config/config.fish"
   end
 
   if test "$OMF_PATH" != "$HOME"
diff --git a/pkg/omf/cli/omf.remove_package.fish b/pkg/omf/cli/omf.remove_package.fish
index ae90630519813d609402b70cb20ef5ab93400b58..66baa34c4e30aa9f7513590672699b6a397e72f3 100644
--- a/pkg/omf/cli/omf.remove_package.fish
+++ b/pkg/omf/cli/omf.remove_package.fish
@@ -1,45 +1,44 @@
 function omf.remove_package
 
-  for pkg in $argv
-    set -l remove_status 1
-
-    if not omf.util_valid_package $pkg
-      if test $pkg = "omf" -o $pkg = "default"
-        echo (omf::err)"You can't remove `$pkg`"(omf::off) 1^&2
-      else
-        echo (omf::err)"$pkg is not a valid package/theme name"(omf::off) 1^&2
-      end
-      return $OMF_INVALID_ARG
+  set -l pkg $argv
+  set -l remove_status 1
+
+  if not omf.util_valid_package $pkg
+    if test $pkg = "omf" -o $pkg = "default"
+      echo (omf::err)"You can't remove `$pkg`"(omf::off) 1^&2
+    else
+      echo (omf::err)"$pkg is not a valid package/theme name"(omf::off) 1^&2
     end
+    return $OMF_INVALID_ARG
+  end
 
-    for path in {$OMF_PATH,$OMF_CONFIG}/{pkg}/$pkg
-      not test -d $path; and continue
+  for path in {$OMF_PATH,$OMF_CONFIG}/{pkg}/$pkg
+    not test -d $path; and continue
 
-      emit uninstall_$pkg
-      omf.bundle.remove "package" $pkg
+    emit uninstall_$pkg
+    omf.bundle.remove "package" $pkg
 
-      rm -rf $path
-      set remove_status $status
-    end
+    rm -rf $path
+    set remove_status $status
+  end
 
-    for path in {$OMF_PATH,$OMF_CONFIG}/{themes}/$pkg
-      not test -d $path; and continue
+  for path in {$OMF_PATH,$OMF_CONFIG}/{themes}/$pkg
+    not test -d $path; and continue
 
-      if test $pkg = (cat $OMF_CONFIG/theme)
-        echo default > $OMF_CONFIG/theme
-      end
+    if test $pkg = (cat $OMF_CONFIG/theme)
+      echo default > $OMF_CONFIG/theme
+    end
 
-      omf.bundle.remove "theme" $pkg
+    omf.bundle.remove "theme" $pkg
 
-      rm -rf $path
-      set remove_status $status
-    end
+    rm -rf $path
+    set remove_status $status
+  end
 
-    if test $remove_status -eq 0
-      echo (omf::em)"$pkg successfully removed."(omf::off)
-      refresh
-    else
-      echo (omf::err)"$pkg could not be found"(omf::off) 1^&2
-    end
+  if test $remove_status -eq 0
+    echo (omf::em)"$pkg successfully removed."(omf::off)
+  else
+    echo (omf::err)"$pkg could not be found"(omf::off) 1^&2
   end
+  return $remove_status
 end
diff --git a/pkg/omf/omf.fish b/pkg/omf/omf.fish
index aa8f1f3adbd880ac24a18bcfc03374b7dbe4dd41..46ccdb2a153a831417ad64450e1024297920cdfa 100644
--- a/pkg/omf/omf.fish
+++ b/pkg/omf/omf.fish
@@ -120,7 +120,7 @@ function omf -d "Oh My Fish"
         echo "Usage: $_ "(omf::em)"$argv[1]"(omf::off)" <[package|theme] name>" 1^&2
         return $OMF_INVALID_ARG
       end
-      omf.remove_package $argv[2..-1]
+      omf.remove_package $argv[2] ; and refresh
 
     case "u" "up" "upd" "update"
       pushd $OMF_PATH