diff --git a/pom.xml b/pom.xml
index db4dd8deb2942523e5ff568e23456670b9e65d14..c1608443c27e0388da7574a97b257c00c23fc82c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
         <maven.compiler.source>17</maven.compiler.source>
         <docker.image.prefix>opendes</docker.image.prefix>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <os-core-common.version>2.0.0</os-core-common.version>
+        <os-core-common.version>3.3.1</os-core-common.version>
         <netty.version>4.1.115.Final</netty.version>
         <snakeyaml.version>2.0</snakeyaml.version>
         <commons-codec.version>1.14</commons-codec.version>
diff --git a/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java b/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
index 82a10bcbd2057ec4d9ec976c5a662d0dc07fd61a..49ef6463c4ce3f336bed715efe7c9ee171a1f3da 100644
--- a/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
+++ b/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
@@ -98,7 +98,13 @@ public abstract class BatchServiceImpl implements BatchService {
                 continue;
             }
 
-            validRecords.put(recordId, recordMetadata.getVersionPath(recordMetadata.getLatestVersion()));
+            Long latestVersion = recordMetadata.getLatestVersion();
+            if (latestVersion == null) {
+                recordsNotFound.add(recordId);
+                continue;
+            }
+
+            validRecords.put(recordId, recordMetadata.getVersionPath(latestVersion));
         }
 
         List<String> validRecordObjects = new ArrayList<>(validRecords.values());
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/BatchServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/BatchServiceImplTest.java
index d79be6c04a68d033a59165df0515cb636293868c..45817c4cb45cc5859a24967c6b5068b581a79465 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/BatchServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/BatchServiceImplTest.java
@@ -247,6 +247,28 @@ class BatchServiceImplTest {
         assertTrue(!multiRecordResponse.getConversionStatuses().isEmpty());
     }
 
+    @Test
+    void getMultipleRecords_returnsInvalidRecords_whenRecordsWithoutGcsVersionPaths() {
+        List<String> recordIds = Arrays.asList(TEST_ID_1, TEST_ID_2);
+        Map<String, RecordMetadata> recordMetadataMap = new HashMap<>();
+        RecordMetadata recordMetadataTestId1 = buildRecordMetadata(TEST_ID_1);
+        RecordMetadata recordMetadataTestId2 = buildRecordMetadata(TEST_ID_2);
+        recordMetadataTestId1.setGcsVersionPaths(new ArrayList<>());
+        recordMetadataTestId2.setGcsVersionPaths(new ArrayList<>());
+        recordMetadataMap.put(TEST_ID_1, recordMetadataTestId1);
+        recordMetadataMap.put(TEST_ID_2, recordMetadataTestId2);
+
+        when(recordRepository.get(recordIds, Optional.empty())).thenReturn(recordMetadataMap);
+
+        MultiRecordIds multiRecordIds = new MultiRecordIds();
+        multiRecordIds.setRecords(recordIds);
+        MultiRecordInfo multiRecordInfo = sut.getMultipleRecords(multiRecordIds, Optional.empty());
+
+        assertTrue(multiRecordInfo.getRecords().isEmpty());
+        assertFalse(multiRecordInfo.getInvalidRecords().isEmpty());
+        assertTrue(multiRecordInfo.getRetryRecords().isEmpty());
+    }
+
 
     private static RecordMetadata buildRecordMetadata(String recordId) {
         Acl acl = new Acl();