diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a0ed4da9835461c592e2bd3029a7f3816de8d28..1becd5aeeef53fc73e475326c2264366f779128f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ version 2.2.0-dev
 + Removed unused "verbose" and "quiet" inputs from multiqc.
 + Added parameter_meta sections to a variety of tasks.
 + Picard's BedToIntervalList outputPath input is now optional (with a default of "regions.interval_list")
++ TALON: Fix SQLite error concerning database/disk space being full.
 + Update htseq to default image version 0.11.2
 + Update biowdl-input-converter in common.wdl to version 0.2.1.
 + Update TALON section to now include the new annotation file output, and add config file creation to the TALON task.
diff --git a/talon.wdl b/talon.wdl
index 798d1945e9997aeac186b7391b34af2110bf618c..c861e56d2e6e923810506f3f62dc94a8cdfece55 100644
--- a/talon.wdl
+++ b/talon.wdl
@@ -369,7 +369,10 @@ task Talon {
     command <<<
         set -e
         mkdir -p "$(dirname ~{outputPrefix})"
-        export TMPDIR=/tmp
+        mkdir -p $PWD/tmp #Standard /tmp fills up which makes the SQLite process crash.
+        ln -s $PWD/tmp /tmp/sqltmp #Multiprocessing will crash if the absolute path is too long.
+        export TMPDIR=/tmp/sqltmp
+        printf "" > ~{outputPrefix}/talonConfigFile.csv #File needs to be emptied when task is rerun.
         for file in ~{sep=" " SAMfiles}
         do
             configFileLine="$(basename ${file%.*}),~{organism},~{sequencingPlatform},${file}"