diff --git a/.travis.yml b/.travis.yml
index 528576fbe..e4020d81d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,38 +15,37 @@ env:
   # Configurations
   matrix:
 ###############################################################################
-# Ubuntu 18.04 LTS
+# Ubuntu 20.04 LTS
 ###############################################################################
     # Note the unit tests for the debug builds are compiled but **not**
     # executed. This is because the debug build of unit tests takes a large
     # amount of time to execute compared to the optimized builds.
 
     # clang
-    #too slow; times out: - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=RelWithDebInfo ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN UBSAN_BUILD=1 RUN_API_EXAMPLES=0 RUN_SYSTEM_TESTS=0 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=clang CXX_COMPILER=clang++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=RelWithDebInfo ASAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN UBSAN_BUILD=1 RUN_API_EXAMPLES=0 RUN_SYSTEM_TESTS=0 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
 
     # gcc
     # ubsan/msan builds too slow
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release RUN_UNIT_TESTS=BUILD_AND_RUN
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug RUN_UNIT_TESTS=BUILD_AND_RUN
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release UBSAN_BUILD=1 RUN_UNIT_TESTS=BUILD_AND_RUN
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug RUN_UNIT_TESTS=BUILD_AND_RUN
 
     # GMP library
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN
-    - LINUX_BASE=ubuntu_18.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Release USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN
+    - LINUX_BASE=ubuntu_20.04 C_COMPILER=gcc CXX_COMPILER=g++ TARGET_ARCH=x86_64 Z3_BUILD_TYPE=Debug USE_LIBGMP=1 RUN_UNIT_TESTS=BUILD_AND_RUN
 
     # Test with Python 3 and API docs
-    - LINUX_BASE=ubuntu_18.04 BUILD_DOCS=1
+    - LINUX_BASE=ubuntu_20.04 BUILD_DOCS=1
 
     # Unix Makefile generator build
-    - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 Z3_CMAKE_GENERATOR="Unix Makefiles"
+    - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 Z3_CMAKE_GENERATOR="Unix Makefiles"
 
     # LTO build
-    - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 USE_LTO=1
+    - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 USE_LTO=1
 
     # Static build. Note we have disable building the bindings because they won't work with a static libz3
-    - LINUX_BASE=ubuntu_18.04 TARGET_ARCH=x86_64 Z3_STATIC_BUILD=1 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
+    - LINUX_BASE=ubuntu_20.04 TARGET_ARCH=x86_64 Z3_STATIC_BUILD=1 DOTNET_BINDINGS=0 JAVA_BINDINGS=0 PYTHON_BINDINGS=0
 
 
 script:
diff --git a/contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile b/contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile
similarity index 80%
rename from contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile
rename to contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile
index 8ea613e4d..5e0bcbbad 100644
--- a/contrib/ci/Dockerfiles/z3_base_ubuntu_18.04.Dockerfile
+++ b/contrib/ci/Dockerfiles/z3_base_ubuntu_20.04.Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM ubuntu:20.04
 
 RUN apt-get update && \
     apt-get -y --no-install-recommends install \
@@ -14,11 +14,9 @@ RUN apt-get update && \
         graphviz \
         python3 \
         python3-setuptools \
-        python2.7 \
-        python-setuptools \
         sudo
 
-RUN curl -SL https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb --output packages-microsoft-prod.deb && \
+RUN curl -SL https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb --output packages-microsoft-prod.deb && \
     dpkg -i packages-microsoft-prod.deb && \
     apt-get update && \
     apt-get -y --no-install-recommends install dotnet-sdk-2.1
@@ -31,4 +29,4 @@ RUN useradd -m user && \
     echo 'user  ALL=(root) NOPASSWD: ALL' >> /etc/sudoers
 USER user
 WORKDIR /home/user
-ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7/bin/llvm-symbolizer
+#ENV ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-7/bin/llvm-symbolizer
diff --git a/contrib/ci/scripts/travis_ci_linux_entry_point.sh b/contrib/ci/scripts/travis_ci_linux_entry_point.sh
index 32892b881..930fd9d20 100755
--- a/contrib/ci/scripts/travis_ci_linux_entry_point.sh
+++ b/contrib/ci/scripts/travis_ci_linux_entry_point.sh
@@ -141,9 +141,9 @@ if [ -n "${Z3_WARNINGS_AS_ERRORS}" ]; then
 fi
 
 case ${LINUX_BASE} in
-  ubuntu_18.04)
-    BASE_DOCKER_FILE="${DOCKER_FILE_DIR}/z3_base_ubuntu_18.04.Dockerfile"
-    BASE_DOCKER_IMAGE_NAME="z3_base_ubuntu:18.04"
+  ubuntu_20.04)
+    BASE_DOCKER_FILE="${DOCKER_FILE_DIR}/z3_base_ubuntu_20.04.Dockerfile"
+    BASE_DOCKER_IMAGE_NAME="z3_base_ubuntu:20.04"
     ;;
   *)
     echo "Unknown Linux base ${LINUX_BASE}"