diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex
index 00e33d7ac..9b228d6b9 100644
--- a/lib/pleroma/application.ex
+++ b/lib/pleroma/application.ex
@@ -66,16 +66,23 @@ defmodule Pleroma.Application do
           Pleroma.Gopher.Server
         ]
 
-    case Pleroma.OTPVersion.check_version() do
-      :ok -> :ok
-      {:error, version} -> raise "
-        !!!OTP VERSION WARNING!!!
-        You are using gun adapter with OTP version #{version}, which doesn't support correct handling of unordered certificates chains.
-        "
-      :undefined -> raise "
-        !!!OTP VERSION WARNING!!!
-        To support correct handling of unordered certificates chains - OTP version must be > 22.2.
-        "
+    if adapter() == Tesla.Adapter.Gun do
+      case Pleroma.OTPVersion.check() do
+        :ok ->
+          :ok
+
+        {:error, version} ->
+          raise "
+            !!!OTP VERSION WARNING!!!
+            You are using gun adapter with OTP version #{version}, which doesn't support correct handling of unordered certificates chains.
+            "
+
+        :undefined ->
+          raise "
+            !!!OTP VERSION WARNING!!!
+            To support correct handling of unordered certificates chains - OTP version must be > 22.2.
+            "
+      end
     end
 
     # See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
@@ -202,11 +209,7 @@ defmodule Pleroma.Application do
     [hackney_pool, Pleroma.Pool.Supervisor]
   end
 
-  defp http_pools_children(_) do
-    :tesla
-    |> Application.get_env(:adapter)
-    |> http_pools()
-  end
+  defp http_pools_children(_), do: http_pools(adapter())
 
   defp http_pools(Tesla.Adapter.Hackney) do
     pools = [:federation, :media]
@@ -227,4 +230,6 @@ defmodule Pleroma.Application do
   defp http_pools(Tesla.Adapter.Gun), do: [Pleroma.Pool.Supervisor]
 
   defp http_pools(_), do: []
+
+  defp adapter, do: Application.get_env(:tesla, :adapter)
 end
diff --git a/lib/pleroma/otp_version.ex b/lib/pleroma/otp_version.ex
index 0be189304..54ceaff47 100644
--- a/lib/pleroma/otp_version.ex
+++ b/lib/pleroma/otp_version.ex
@@ -1,63 +1,53 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.OTPVersion do
-  @type check_status() :: :undefined | {:error, String.t()} | :ok
+  @type check_status() :: :ok | :undefined | {:error, String.t()}
 
-  require Logger
-
-  @spec check_version() :: check_status()
-  def check_version do
+  @spec check() :: check_status()
+  def check do
     # OTP Version https://erlang.org/doc/system_principles/versions.html#otp-version
-    paths = [
+    [
       Path.join(:code.root_dir(), "OTP_VERSION"),
       Path.join([:code.root_dir(), "releases", :erlang.system_info(:otp_release), "OTP_VERSION"])
     ]
-
-    :tesla
-    |> Application.get_env(:adapter)
-    |> get_and_check_version(paths)
+    |> get_version_from_files()
+    |> do_check()
   end
 
-  @spec get_and_check_version(module(), [Path.t()]) :: check_status()
-  def get_and_check_version(Tesla.Adapter.Gun, paths) do
+  @spec check([Path.t()]) :: check_status()
+  def check(paths) do
     paths
-    |> check_files()
-    |> check_version()
+    |> get_version_from_files()
+    |> do_check()
   end
 
-  def get_and_check_version(_, _), do: :ok
+  defp get_version_from_files([]), do: nil
 
-  defp check_files([]), do: nil
-
-  defp check_files([path | paths]) do
+  defp get_version_from_files([path | paths]) do
     if File.exists?(path) do
       File.read!(path)
     else
-      check_files(paths)
+      get_version_from_files(paths)
     end
   end
 
-  defp check_version(nil), do: :undefined
+  defp do_check(nil), do: :undefined
 
-  defp check_version(version) do
-    try do
-      version = String.replace(version, ~r/\r|\n|\s/, "")
+  defp do_check(version) do
+    version = String.replace(version, ~r/\r|\n|\s/, "")
 
-      formatted =
-        version
-        |> String.split(".")
-        |> Enum.map(&String.to_integer/1)
-        |> Enum.take(2)
+    [major, minor] =
+      version
+      |> String.split(".")
+      |> Enum.map(&String.to_integer/1)
+      |> Enum.take(2)
 
-      with [major, minor] when length(formatted) == 2 <- formatted,
-           true <- (major == 22 and minor >= 2) or major > 22 do
-        :ok
-      else
-        false -> {:error, version}
-        _ -> :undefined
-      end
-    rescue
-      _ -> :undefined
-    catch
-      _ -> :undefined
+    if (major == 22 and minor >= 2) or major > 22 do
+      :ok
+    else
+      {:error, version}
     end
   end
 end
diff --git a/test/fixtures/warnings/otp_version/error b/test/fixtures/warnings/otp_version/error
deleted file mode 100644
index 8fdd954df..000000000
--- a/test/fixtures/warnings/otp_version/error
+++ /dev/null
@@ -1 +0,0 @@
-22
\ No newline at end of file
diff --git a/test/fixtures/warnings/otp_version/undefined b/test/fixtures/warnings/otp_version/undefined
deleted file mode 100644
index 66dc9051d..000000000
--- a/test/fixtures/warnings/otp_version/undefined
+++ /dev/null
@@ -1 +0,0 @@
-undefined
\ No newline at end of file
diff --git a/test/otp_version_test.exs b/test/otp_version_test.exs
index f26b90f61..af278cc72 100644
--- a/test/otp_version_test.exs
+++ b/test/otp_version_test.exs
@@ -1,58 +1,38 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.OTPVersionTest do
   use ExUnit.Case, async: true
 
   alias Pleroma.OTPVersion
 
-  describe "get_and_check_version/2" do
+  describe "check/1" do
     test "22.4" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/22.4"
-             ]) == :ok
+      assert OTPVersion.check(["test/fixtures/warnings/otp_version/22.4"]) == :ok
     end
 
     test "22.1" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/22.1"
-             ]) == {:error, "22.1"}
+      assert OTPVersion.check(["test/fixtures/warnings/otp_version/22.1"]) == {:error, "22.1"}
     end
 
     test "21.1" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/21.1"
-             ]) == {:error, "21.1"}
+      assert OTPVersion.check(["test/fixtures/warnings/otp_version/21.1"]) == {:error, "21.1"}
     end
 
     test "23.0" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/23.0"
-             ]) == :ok
-    end
-
-    test "undefined" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/undefined"
-             ]) == :undefined
-    end
-
-    test "not parsable" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
-               "test/fixtures/warnings/otp_version/error"
-             ]) == :undefined
+      assert OTPVersion.check(["test/fixtures/warnings/otp_version/23.0"]) == :ok
     end
 
     test "with non existance file" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, [
+      assert OTPVersion.check([
                "test/fixtures/warnings/otp_version/non-exising",
                "test/fixtures/warnings/otp_version/22.4"
              ]) == :ok
     end
 
     test "empty paths" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Gun, []) == :undefined
-    end
-
-    test "another adapter" do
-      assert OTPVersion.get_and_check_version(Tesla.Adapter.Hackney, []) == :ok
+      assert OTPVersion.check([]) == :undefined
     end
   end
 end