protected Boolean doInBackground(Void... params) {
             String[] checkedFilePaths = mFileListFragment.getCheckedFilePaths();
             long total = 0;
-            for (int i=0; i < checkedFilePaths.length ; i++) {
+            for (int i=0; checkedFilePaths != null && i < checkedFilePaths.length ; i++) {
                 String localPath = checkedFilePaths[i];
                 File localFile = new File(localPath);
                 total += localFile.length();
             }
-            String savePath = FileStorageUtils.getSavePath(mAccount.name);
-            File saveDir = new File(savePath);
-            return (saveDir.getUsableSpace() >= total);
+            return (FileStorageUtils.getUsableSpace(mAccount.name) >= total);
         }
 
         /**
             setResult(RESULT_OK_AND_MOVE, data);
             finish();
         }
-        //mCurrentDialog.dismiss();
+        mCurrentDialog.dismiss();
         mCurrentDialog = null;
     }
 
     @Override
     public void onNeutral(String callerTag) {
         Log.d(TAG, "Phantom neutral button in dialog was clicked; dialog tag is " + callerTag);
-        //mCurrentDialog.dismiss();
+        mCurrentDialog.dismiss();
         mCurrentDialog = null;
     }
 
     public void onCancel(String callerTag) {
         /// nothing to do; don't finish, let the user change the selection
         Log.d(TAG, "Negative button in dialog was clicked; dialog tag is " + callerTag);
-        //mCurrentDialog.dismiss();
+        mCurrentDialog.dismiss();
         mCurrentDialog = null;
     }