diff --git a/src/Api.php b/src/Api.php
index cb14c9f..a3f8936 100644
--- a/src/Api.php
+++ b/src/Api.php
@@ -14,6 +14,7 @@ use Zoomyboy\LaravelNami\Data\Member;
 use Zoomyboy\LaravelNami\Data\MemberEntry;
 use Zoomyboy\LaravelNami\Data\Membership;
 use Zoomyboy\LaravelNami\Data\MembershipEntry;
+use Zoomyboy\LaravelNami\Exceptions\MemberDataCorruptedException;
 use Zoomyboy\LaravelNami\Exceptions\NotAuthenticatedException;
 use Zoomyboy\LaravelNami\Support\Paginator;
 
@@ -294,7 +295,11 @@ class Api
 
     public function member(int $groupId, int $memberId): Member
     {
-        return Member::from($this->rawMember($groupId, $memberId));
+        $rawMember = $this->rawMember($groupId, $memberId);
+
+        throw_unless(Member::isCorrupted($rawMember), MemberDataCorruptedException::class, $rawMember);
+
+        return Member::from($rawMember);
     }
 
     public function hasGroup(int $groupId): bool
diff --git a/src/Data/Member.php b/src/Data/Member.php
index f14316d..07c4d36 100644
--- a/src/Data/Member.php
+++ b/src/Data/Member.php
@@ -155,4 +155,20 @@ class Member extends Data
     {
         return MemberRequestFactory::new();
     }
+
+    /**
+     * @param array<string, mixed> $rawData
+     */
+    public static function isCorrupted(array $rawData): bool
+    {
+        if (!data_get($rawData, 'eintrittsdatum')) {
+            return false;
+        }
+
+        if (!data_get($rawData, 'landId')) {
+            return false;
+        }
+
+        return true;
+    }
 }
diff --git a/src/Exceptions/MemberDataCorruptedException.php b/src/Exceptions/MemberDataCorruptedException.php
new file mode 100644
index 0000000..9dff1af
--- /dev/null
+++ b/src/Exceptions/MemberDataCorruptedException.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace Zoomyboy\LaravelNami\Exceptions;
+
+use Exception;
+
+class MemberDataCorruptedException extends Exception implements Skippable
+{
+    /**
+     * @param array<string, mixed> $rawMember
+     */
+    public function __construct(public array $rawMember)
+    {
+        parent::__construct('Member data corrupted');
+    }
+}
diff --git a/src/Exceptions/Skippable.php b/src/Exceptions/Skippable.php
new file mode 100644
index 0000000..5128ccc
--- /dev/null
+++ b/src/Exceptions/Skippable.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace Zoomyboy\LaravelNami\Exceptions;
+
+interface Skippable
+{
+}
diff --git a/tests/Unit/Api/FetchMemberTest.php b/tests/Unit/Api/FetchMemberTest.php
index f8eaeb6..5484d8d 100644
--- a/tests/Unit/Api/FetchMemberTest.php
+++ b/tests/Unit/Api/FetchMemberTest.php
@@ -2,6 +2,7 @@
 
 namespace Zoomyboy\LaravelNami\Tests\Unit\Member;
 
+use Zoomyboy\LaravelNami\Exceptions\MemberDataCorruptedException;
 use Zoomyboy\LaravelNami\Fakes\MemberFake;
 use Zoomyboy\LaravelNami\NamiException;
 use Zoomyboy\LaravelNami\Tests\TestCase;
@@ -112,6 +113,19 @@ class FetchMemberTest extends TestCase
         $this->assertNull($member->genderId);
     }
 
+    /**
+     * @testWith [{"eintrittsdatum": null}]
+     *           [{"landId": null}]
+     */
+    public function testFailsFetchingWhenJoinedAtDateIsMissing(array $data): void
+    {
+        $this->expectException(MemberDataCorruptedException::class);
+
+        app(MemberFake::class)->shows(1000, 1001, $data);
+
+        $this->login()->member(1000, 1001);
+    }
+
     public function testMemberFetchCanFail(): void
     {
         $this->expectException(NamiException::class);