diff --git a/autoload/tmux.vim b/autoload/tmux.vim
index 910259e..d5901ef 100644
--- a/autoload/tmux.vim
+++ b/autoload/tmux.vim
@@ -1,5 +1,9 @@
 let s:tmux_option = '@vim'.substitute($TMUX_PANE, '%', '\\%', 'g')
 
+function! tmux#inSession() abort
+  return $TMUX !=# ''
+endfunction
+
 function! tmux#setNavigationFlag() abort
   call system('tmux set-window-option '.s:tmux_option.' 1')
 endfunction
@@ -7,3 +11,11 @@ endfunction
 function! tmux#unsetNavigationFlag() abort
   call system('tmux set-window-option -u '.s:tmux_option)
 endfunction
+
+function! tmux#isSetClipboardOn() abort
+  if !tmux#inSession()
+    return 0
+  endif
+  let l:set_clipboard = trim(system('tmux show-options -g set-clipboard'))
+  return l:set_clipboard ==# 'set-clipboard on'
+endfunction
diff --git a/plugin/mappings.vim b/plugin/mappings.vim
index b0d4367..d8d848b 100644
--- a/plugin/mappings.vim
+++ b/plugin/mappings.vim
@@ -77,7 +77,7 @@ nnoremap <leader>tm :tabmove<Space>
 " Clear search highlights
 nnoremap <leader><Space> :nohlsearch<CR>
 
-if g:use_osc52
+if exists('loaded_oscyank')
   noremap <leader>y :Oscyank<CR>
 else
   " System clipboard yank/put
diff --git a/vimrc b/vimrc
index a5782de..88563fc 100644
--- a/vimrc
+++ b/vimrc
@@ -200,9 +200,7 @@ Pack 'jrozner/vim-antlr'
 
 " Plugins for remote integrations
 Pack 'greymd/oscyank.vim', {'type': 'opt'}
-let g:use_osc52 = $TMUX !=# '' &&
-\ trim(system('tmux show-options -g set-clipboard')) ==# 'set-clipboard on'
-if g:use_osc52 && isdirectory(expand('~/.vim/pack/minpac/opt/oscyank.vim'))
+if tmux#isSetClipboardOn()
   packadd oscyank.vim
 endif