diff --git a/preprocessor/preprocessor/steps/georeference.py b/preprocessor/preprocessor/steps/georeference.py
index cd4ceee2f66f887130aae6f4b05be831c05af741..796e69a8a783570b91ce5600c5a82b5eef48403b 100644
--- a/preprocessor/preprocessor/steps/georeference.py
+++ b/preprocessor/preprocessor/steps/georeference.py
@@ -5,7 +5,7 @@ from glob import glob
 import shutil
 from typing import List, Tuple
 
-from ..util import gdal, osr
+from ..util import gdal, osr, replace_ext
 
 
 logger = logging.getLogger(__name__)
@@ -73,13 +73,14 @@ def rpc_georef(input_filename: os.PathLike, target_filename: os.PathLike, rpc_fi
         filename=input_filename, fileroot=fileroot,
         extension=extension,
     )
+    rpc_filename = None
     try:
-        rpc_filename = glob(rpc_file_glob)[0]
+        rpc_filename = glob(rpc_file_glob, recursive=True)[0]
     except IndexError:
         logger.warn('No RPC filename found with glob %s' % rpc_file_glob)
-
     # rename RPC filename to be compatible with GDAL
-    shutil.move(rpc_filename, '%s.rpc' % input_filename)
+    if rpc_filename:
+        shutil.move(rpc_filename, replace_ext(input_filename, '.rpc'))
 
     gdal.Warp(
         target_filename,