diff --git a/transliteration.admin.inc b/transliteration.admin.inc
index 9ffb713..3023d0b 100644
--- a/transliteration.admin.inc
+++ b/transliteration.admin.inc
@@ -62,17 +62,22 @@ function transliteration_retroactive_submit($form, &$form_state) {
 
   while ($file = $result->fetchObject()) {
     $wrapper = file_stream_wrapper_get_instance_by_uri($file->uri);
+    $scheme = file_uri_scheme($file->uri);
+
+    // Missing implementation.
     if (!$wrapper) {
-      // Missing implementation.
       $errors[] = file_uri_target($file->uri);
       continue;
     }
-    if (!in_array('DrupalLocalStreamWrapper', class_parents($wrapper))) {
-      // Skip non-local files.
+
+    // Skip non-writable stream wrappers.
+    $writeable_stream_wrappers = file_get_stream_wrappers(STREAM_WRAPPERS_WRITE);
+    if (!isset($writeable_stream_wrappers[$scheme])) {
       continue;
     }
+
+    // Missing file.
     if (!file_exists($wrapper->realpath())) {
-      // Missing file.
       $errors[] = file_uri_target($file->uri);
       continue;
     }
