diff --git a/FitConnect/FitConnectClient.cs b/FitConnect/FitConnectClient.cs
index 05580fd7e9db84694832247bfcc727148cc8c3b5..57c02848f5cf5a7a6d6095bda52a42b0a54d98e3 100644
--- a/FitConnect/FitConnectClient.cs
+++ b/FitConnect/FitConnectClient.cs
@@ -190,24 +190,16 @@ public abstract class FitConnectClient {
     /// <returns></returns>
     protected virtual async Task<SubmissionStatus> GetStatusForSubmissionAsync(
         SentSubmission submission, bool withAuthenticationTags) {
-        try {
-            var eventLog = await GetEventLogAsync(submission.CaseId, submission.DestinationId,
-                !withAuthenticationTags);
+        var eventLog = await GetEventLogAsync(submission.CaseId, submission.DestinationId,
+            !withAuthenticationTags);
 
-            var status = eventLog
-                .Where(e => e.SubmissionId == submission.SubmissionId)
-                .Select(e => CreateSubmissionStatusFromSet(submission, e, withAuthenticationTags))
-                .OrderBy(e => (int)e.SubmissionState)
-                .Last();
+        var status = eventLog
+            .Where(e => e.SubmissionId == submission.SubmissionId)
+            .Select(e => CreateSubmissionStatusFromSet(submission, e, withAuthenticationTags))
+            .OrderBy(e => (int)e.SubmissionState)
+            .Last();
 
-            return status;
-        }
-        catch (Exception e) {
-            Logger?.LogError(e, "Error while retrieving status for submission");
-            throw new FitConnectException("Error while retrieving status for submission",
-                FitConnectException.ErrorTypeEnum.SubmissionStatusRetrievalError,
-                e);
-        }
+        return status;
     }
 
     private static SubmissionStatus CreateSubmissionStatusFromSet(SentSubmission submission,
diff --git a/FitConnect/Sender.cs b/FitConnect/Sender.cs
index 50beeaba481e6ae31863e35ce06a85a57d61f613..28a87094a9f5eb175dd4ad830769b1c6e882f435 100644
--- a/FitConnect/Sender.cs
+++ b/FitConnect/Sender.cs
@@ -53,8 +53,15 @@ public class Sender : FitConnectClient, ISender {
         return publicKey;
     }
 
-    public async Task<SubmissionStatus> GetStatusForSubmissionAsync(SentSubmission submission)
-        => await base.GetStatusForSubmissionAsync(submission, true);
+    public async Task<SubmissionStatus> GetStatusForSubmissionAsync(SentSubmission submission) {
+        try {
+            return await base.GetStatusForSubmissionAsync(submission, true);
+        }
+        catch (Exception e) {
+            Logger?.LogError("Error while getting status for submission");
+            throw new FitConnectSenderException("Error while getting status for submission", e);
+        }
+    }
 
 
     public async Task<SentSubmission> SendAsync(SendableSubmission submission) {
diff --git a/FitConnect/Subscriber.cs b/FitConnect/Subscriber.cs
index 3f89f10403c0e5bb72d4d6ff8cd396c01dbb5fe2..ab12e815fdd20c66294ea199688d0806e701f2cc 100644
--- a/FitConnect/Subscriber.cs
+++ b/FitConnect/Subscriber.cs
@@ -283,9 +283,16 @@ public class Subscriber : FitConnectClient, IReceivedSubmission,
     }
 
     public async Task<SubmissionStatus> GetStatusForSubmission(Guid destinationId, Guid caseId,
-        Guid submissionId)
-        => await base.GetStatusForSubmissionAsync(
-            new SentSubmission(submissionId, caseId, destinationId, null), false);
+        Guid submissionId) {
+        try {
+            return await base.GetStatusForSubmissionAsync(
+                new SentSubmission(submissionId, caseId, destinationId, null), false);
+        }
+        catch (Exception e) {
+            Logger?.LogError("Error getting status for submission");
+            throw new FitConnectSubscriberException("Error getting status for submission", e);
+        }
+    }
 
     public Submission? Submission { get; private set; }
 
diff --git a/Tests/E2ETest/StraightForwardTest.cs b/Tests/E2ETest/StraightForwardTest.cs
index 122a78e1e6e8806af30ac90b7aef406d95b638a9..1bef9de643aa383a7ab1ed7c5c6e6b3ebb7fb624 100644
--- a/Tests/E2ETest/StraightForwardTest.cs
+++ b/Tests/E2ETest/StraightForwardTest.cs
@@ -231,7 +231,7 @@ public class StraightForwardTest : EndToEndTestBase {
         var exception = Assert.Throws<AggregateException>(() =>
             Sender.GetStatusForSubmissionAsync(manipulated).Wait());
 
-        exception.InnerExceptions.Any(e => e is FitConnectException).Should().BeTrue();
+        exception.InnerExceptions.Any(e => e is FitConnectSenderException).Should().BeTrue();
     }
 
 
diff --git a/Tests/E2ETest/StraightPreEncryptedForwardTest.cs b/Tests/E2ETest/StraightPreEncryptedForwardTest.cs
index 39917261530abc42635de3519e06be982145fd3a..e1654a3a1ca5fb6fc11748c02c2e179197807763 100644
--- a/Tests/E2ETest/StraightPreEncryptedForwardTest.cs
+++ b/Tests/E2ETest/StraightPreEncryptedForwardTest.cs
@@ -168,7 +168,7 @@ public class StraightPreEncryptedForwardTest : EndToEndTestBase {
         var exception = Assert.Throws<AggregateException>(() =>
             Sender.GetStatusForSubmissionAsync(manipulated).Wait());
 
-        (exception!.InnerExceptions.FirstOrDefault(e => e is FitConnectException)!
+        (exception!.InnerExceptions.FirstOrDefault(e => e is FitConnectSenderException)!
             .InnerException is AuthenticationTagException).Should().BeTrue();
     }
 }