diff --git a/packages/synapse-react-client/src/components/EntityUpload/EntityUpload.tsx b/packages/synapse-react-client/src/components/EntityUpload/EntityUpload.tsx
index 31f7bb6ae7c..91694100fd6 100644
--- a/packages/synapse-react-client/src/components/EntityUpload/EntityUpload.tsx
+++ b/packages/synapse-react-client/src/components/EntityUpload/EntityUpload.tsx
@@ -111,7 +111,7 @@ export const EntityUpload = React.forwardRef(function EntityUpload(
   ).length
 
   function uploadFileList(fileList: ArrayLike<File>) {
-    if (uploadDestination?.projectStorageLocationUsage.isOverLimit) {
+    if (uploadDestination?.projectStorageLocationUsage?.isOverLimit) {
       displayToast(
         'Cannot upload files because the storage limit has been exceeded.',
         'danger',
@@ -137,7 +137,7 @@ export const EntityUpload = React.forwardRef(function EntityUpload(
   return (
     <div>
       <EntityUploadPromptDialog activePrompts={activePrompts} />
-      {uploadDestination && (
+      {uploadDestination?.projectStorageLocationUsage && (
         <ProjectStorageLimitAlert
           usage={uploadDestination.projectStorageLocationUsage}
           didUploadsExceedLimit={didUploadsExceedStorageLimit}
@@ -156,7 +156,7 @@ export const EntityUpload = React.forwardRef(function EntityUpload(
           border: '1px dashed #D9D9D9',
           backgroundColor: 'grey.100',
           textAlign: 'center',
-          ...(uploadDestination?.projectStorageLocationUsage.isOverLimit
+          ...(uploadDestination?.projectStorageLocationUsage?.isOverLimit
             ? disabledUploadPaneSx
             : {}),
         }}
diff --git a/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.test.ts b/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.test.ts
index 6a426b00ab0..029551baac7 100644
--- a/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.test.ts
+++ b/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.test.ts
@@ -87,4 +87,13 @@ describe('willUploadsExceedStorageLimit', () => {
       ),
     ).toEqual(true)
   })
+
+  test('undefined usage', () => {
+    const usage = undefined
+
+    const pendingUploadsInBytes = 0
+    expect(
+      willUploadsExceedStorageLimit([], usage, pendingUploadsInBytes),
+    ).toEqual(false)
+  })
 })
diff --git a/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts b/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts
index 4badd5515fa..b3705ba2392 100644
--- a/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts
+++ b/packages/synapse-react-client/src/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.ts
@@ -8,9 +8,12 @@ import { ProjectStorageLocationUsage } from '@sage-bionetworks/synapse-types'
  */
 export function willUploadsExceedStorageLimit(
   files: ArrayLike<File>,
-  usage: ProjectStorageLocationUsage,
+  usage: ProjectStorageLocationUsage | undefined,
   pendingUploadsInBytes: number,
 ): boolean {
+  if (usage == null) {
+    return false
+  }
   if (usage.isOverLimit) {
     return true
   }
diff --git a/packages/synapse-types/src/File/UploadDestination.ts b/packages/synapse-types/src/File/UploadDestination.ts
index 6a80270f370..d58587a326c 100644
--- a/packages/synapse-types/src/File/UploadDestination.ts
+++ b/packages/synapse-types/src/File/UploadDestination.ts
@@ -17,7 +17,7 @@ export interface UploadDestination {
   uploadType: UploadType
   /* If set, the client should show this banner every time an upload is initiated */
   banner?: string
-  projectStorageLocationUsage: ProjectStorageLocationUsage
+  projectStorageLocationUsage?: ProjectStorageLocationUsage
 }
 
 /**