diff --git a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt
index 2378b8d5ec9b29d7af133755772842f40c3b3596..d631805e2eb1f041b87bbc968ac204938c4c1c9d 100644
--- a/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt
+++ b/app/src/main/java/com/example/abe/ui/scanner/ScannerFragment.kt
@@ -112,14 +112,11 @@ class ScannerFragment : Fragment(), UploadResultCallback {
                 val imageUri = result.data?.data
                 if (imageUri != null) {
                     val imageFile = uriToFile(imageUri)
+                    isProcessingPhoto = true
                     attemptUpload(imageFile)
-
-                    val msg = "Uploading photo, please wait"
-                    Toast.makeText(requireContext(), msg, Toast.LENGTH_SHORT).show()
                 } else {
                     val msg = "Failed to fetch image from gallery"
                     Toast.makeText(requireContext(), msg, Toast.LENGTH_SHORT).show()
-                    isProcessingPhoto = false
                 }
             }
         }
@@ -199,12 +196,22 @@ class ScannerFragment : Fragment(), UploadResultCallback {
     }
 
     private fun attemptUpload(imageFile: File) {
+        val activity = activity as MainActivity
+        if (!isConnected(activity.getNetworkState())) {
+            binding.scanLayout.visibility = View.GONE
+            binding.noNetworkLayout.visibility = View.VISIBLE
+            isProcessingPhoto = false
+            return
+        }
+
         lifecycleScope.launch {
             val retrofit = Retrofit()
             val token = (activity as MainActivity).preferenceDataStoreHelper.getFirstPreference(
                 PreferenceDataStoreConstants.TOKEN,
                 ""
             )
+            val msg = "Uploading photo, please wait"
+            Toast.makeText(requireContext(), msg, Toast.LENGTH_LONG).show()
             retrofit.upload(token, imageFile, this@ScannerFragment)
         }
     }
@@ -226,26 +233,14 @@ class ScannerFragment : Fragment(), UploadResultCallback {
         val cancelButton = dialog.findViewById<Button>(R.id.cancel_button)
 
         confirmButton.setOnClickListener {
-            val activity = activity as MainActivity
-            if (!isConnected(activity.getNetworkState())) {
+            val filePath = imageUri.path
+            if (filePath != null) {
+                val imageFile = File(filePath)
+                attemptUpload(imageFile)
                 dialog.dismiss()
-                binding.scanLayout.visibility = View.GONE
-                binding.noNetworkLayout.visibility = View.VISIBLE
-                isProcessingPhoto = false
             } else {
-                val filePath = imageUri.path
-                if (filePath != null) {
-                    val imageFile = File(filePath)
-                    attemptUpload(imageFile)
-
-                    val msg = "Uploading photo, please wait"
-                    Toast.makeText(requireContext(), msg, Toast.LENGTH_LONG).show()
-
-                    dialog.dismiss()
-                } else {
-                    isProcessingPhoto = false
-                    dialog.dismiss()
-                }
+                isProcessingPhoto = false
+                dialog.dismiss()
             }
         }
 
@@ -411,7 +406,6 @@ class ScannerFragment : Fragment(), UploadResultCallback {
 
         val intent = Intent(Intent.ACTION_PICK)
         intent.type = "image/*"
-        isProcessingPhoto = true
         openGalleryLauncher.launch(intent)
     }