diff --git a/app/build.gradle b/app/build.gradle
index 37225ce..99c6793 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,9 +9,9 @@ android {
     defaultConfig {
         applicationId 'net.voussoir.trkpt'
         minSdkVersion 25
-        targetSdk 32
-        versionCode 58
-        versionName '1.3.0'
+        targetSdk 28
+        versionCode 59
+        versionName '1.3.1'
         resConfigs "en", "da", "de", "fr", "hr", "id", "it", "ja", "nb-rNO", "nl", "pl", "pt-rBR", "ru", "sv", "tr", "zh-rCN"
     }
 
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f0c8f51..6a68b17 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,6 +22,7 @@
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
     <application
         android:name="net.voussoir.trkpt.Trackbook"
         android:allowBackup="true"
diff --git a/app/src/main/java/net/voussoir/trkpt/MainActivity.kt b/app/src/main/java/net/voussoir/trkpt/MainActivity.kt
index b89686f..f58a5d5 100644
--- a/app/src/main/java/net/voussoir/trkpt/MainActivity.kt
+++ b/app/src/main/java/net/voussoir/trkpt/MainActivity.kt
@@ -106,6 +106,7 @@ class MainActivity: AppCompatActivity()
         Log.i("VOUSSOIR", "MainActivity requests permissions.")
         val permissions_wanted = arrayOf(
             Manifest.permission.WRITE_EXTERNAL_STORAGE,
+            Manifest.permission.MANAGE_EXTERNAL_STORAGE,
             Manifest.permission.ACCESS_COARSE_LOCATION,
             Manifest.permission.ACCESS_FINE_LOCATION,
             Manifest.permission.ACTIVITY_RECOGNITION,
@@ -151,6 +152,7 @@ class MainActivity: AppCompatActivity()
 
             Keys.PREF_DATABASE_DIRECTORY ->
             {
+                Log.i("VOUSSOIR", "MainActivity: database_directory has changed.")
                 trackbook.load_database()
             }
         }
diff --git a/app/src/main/java/net/voussoir/trkpt/MapFragment.kt b/app/src/main/java/net/voussoir/trkpt/MapFragment.kt
index bca1d03..b4541a6 100644
--- a/app/src/main/java/net/voussoir/trkpt/MapFragment.kt
+++ b/app/src/main/java/net/voussoir/trkpt/MapFragment.kt
@@ -88,7 +88,7 @@ class MapFragment : Fragment()
         {
             override fun database_changed()
             {
-                Log.i("VOUSSOIR", "MapFragment database_ready_changed to ${trackbook.database.ready}")
+                Log.i("VOUSSOIR", "MapFragment database_ready changed to ${trackbook.database.ready}")
                 if (trackbook.database.ready)
                 {
                     create_homepoint_overlays()
diff --git a/app/src/main/java/net/voussoir/trkpt/Trackbook.kt b/app/src/main/java/net/voussoir/trkpt/Trackbook.kt
index 8a1df9b..c55b4a0 100644
--- a/app/src/main/java/net/voussoir/trkpt/Trackbook.kt
+++ b/app/src/main/java/net/voussoir/trkpt/Trackbook.kt
@@ -88,6 +88,7 @@ class Trackbook : Application()
         }
         else
         {
+            Log.i("VOUSSOIR", "Trackbook.load_database: lacking WRITE_EXTERNAL_STORAGE permission.")
             this.database.ready = false
         }
         this.call_database_changed_listeners()
diff --git a/app/src/main/java/net/voussoir/trkpt/TrackerService.kt b/app/src/main/java/net/voussoir/trkpt/TrackerService.kt
index 82ea1eb..bc44ba9 100644
--- a/app/src/main/java/net/voussoir/trkpt/TrackerService.kt
+++ b/app/src/main/java/net/voussoir/trkpt/TrackerService.kt
@@ -807,6 +807,8 @@ class TrackerService: Service()
             Keys.PREF_DEVICE_ID ->
             {
                 device_id = PreferencesHelper.load_device_id()
+                trackbook.database.commit()
+                trackbook.load_database()
             }
         }
     }
diff --git a/app/src/main/java/net/voussoir/trkpt/helpers/PreferencesHelper.kt b/app/src/main/java/net/voussoir/trkpt/helpers/PreferencesHelper.kt
index 86f6827..4e61031 100644
--- a/app/src/main/java/net/voussoir/trkpt/helpers/PreferencesHelper.kt
+++ b/app/src/main/java/net/voussoir/trkpt/helpers/PreferencesHelper.kt
@@ -48,6 +48,7 @@ object PreferencesHelper
         val v = sharedPreferences.getString(Keys.PREF_DEVICE_ID, fallback).toString()
         if (v == fallback)
         {
+            Log.i("VOUSSOIR", "PreferencesHelper.load_device_id: Saving random fallback ${v}.")
             sharedPreferences.edit { putString(Keys.PREF_DEVICE_ID, fallback) }
         }
         Log.i("VOUSSOIR", "PreferencesHelper.load_device_id: Got ${v}.")