diff --git a/personal/q3k/mirko.jsonnet b/personal/q3k/mirko.jsonnet
index 88046d2..bfeccff 100644
--- a/personal/q3k/mirko.jsonnet
+++ b/personal/q3k/mirko.jsonnet
@@ -4,7 +4,7 @@
     local top = self,
     shipstuck:: {
         cfg:: {
-            image: "registry.k0.hswaw.net/q3k/shipstuck:315532800-d95e0b92d94efc4a4c2a7b85bc224fe5786ed708",
+            image: "registry.k0.hswaw.net/q3k/shipstuck:315532800-0939d664a3eac4c0c67b447265c67bbcda9939d4",
             domain: error "domain must be set",
         },
         component(cfg, env): mirko.Component(env, "shipstuck") {
diff --git a/personal/q3k/shipstuck/main.go b/personal/q3k/shipstuck/main.go
index 3a32f37..bacbc5d 100644
--- a/personal/q3k/shipstuck/main.go
+++ b/personal/q3k/shipstuck/main.go
@@ -2,9 +2,7 @@
 
 import (
 	"context"
-	"encoding/json"
 	"flag"
-	"fmt"
 	"net/http"
 	"sync"
 	"time"
@@ -23,40 +21,8 @@
 // get retrieves the current status of the ship - returns true if stack, false
 // otherwise.
 func get(ctx context.Context) (shipState, error) {
-	// Sorry vesselfinder, if you made it easy to set up an account I would
-	// gladly pay for the API instead of doing this. Limiting requests to once
-	// every 15 minutes though, that seems fair enough.
-	req, err := http.NewRequestWithContext(ctx, "GET", "https://www.vesselfinder.com/api/pub/click/353136000", nil)
-	if err != nil {
-		return shipStateUnknown, fmt.Errorf("NewRequestWithContext: %w", err)
-	}
-	req.Header.Set("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:86.0) Gecko/20100101 Firefox/86.0")
-
-	res, err := http.DefaultClient.Do(req)
-	if err != nil {
-		// vesselfinder.com down on 2021/03/29, add a 'cached' status for one hour as a hack.
-		if time.Now().Unix() < (1617024611 + 3600) {
-			glog.Warningf("Faking vesselfinder return.")
-			return shipStateTowed, nil
-		}
-		return shipStateUnknown, fmt.Errorf("Do: %w", err)
-	}
-
-	defer res.Body.Close()
-
-	v := &vessel{}
-	err = json.NewDecoder(res.Body).Decode(v)
-	if err != nil {
-		return shipStateUnknown, fmt.Errorf("Decode: %w", err)
-	}
-
-	if v.Speed > 10.0 {
-		return shipStateFreed, nil
-	}
-	if v.Speed > 0.5 {
-		return shipStateTowed, nil
-	}
-	return shipStateStuck, nil
+	// 2021/03/29/ 17:23 UTC+2 it's been freed!
+	return shipStateFreed, nil
 }
 
 type shipState string
