diff --git a/src/Li.jl b/src/Li.jl
index 5c4343b..7e9be37 100644
--- a/src/Li.jl
+++ b/src/Li.jl
@@ -76,8 +76,6 @@ function _reli(n::Integer, x::Real)
     end
 end
 
-reli(::Integer, ::Missing) = missing
-
 """
     li(n::Integer, z::Complex)
 
@@ -161,8 +159,6 @@ function _li(n::Integer, z::Complex{T})::Complex{T} where T
     end
 end
 
-li(::Integer, ::Missing) = missing
-
 # returns -(-1)^n of type T
 function oddsgn(n, ::Type{T})::T where T
     isodd(n) ? one(T) : -one(T)
diff --git a/src/Li0.jl b/src/Li0.jl
index 374292a..e000b10 100644
--- a/src/Li0.jl
+++ b/src/Li0.jl
@@ -25,5 +25,3 @@ function li0(z::Number)
         z/(1 - z)
     end
 end
-
-li0(::Missing) = missing
diff --git a/src/Li1.jl b/src/Li1.jl
index 586bb58..22a420e 100644
--- a/src/Li1.jl
+++ b/src/Li1.jl
@@ -30,8 +30,6 @@ function reli1(x::Real)
     end
 end
 
-reli1(::Missing) = missing
-
 """
     li1(z::Complex)
 
@@ -68,5 +66,3 @@ function li1(z::Complex)
 end
 
 li1(z::Real) = li1(Complex(z))
-
-li1(::Missing) = missing
diff --git a/src/Li2.jl b/src/Li2.jl
index bb980c4..bba31b6 100644
--- a/src/Li2.jl
+++ b/src/Li2.jl
@@ -204,8 +204,6 @@ function _reli2(x::T)::T where T
     end
 end
 
-reli2(::Missing) = missing
-
 
 """
     li2(z::Complex)
@@ -303,5 +301,3 @@ function _li2(z::Complex{BigFloat})::Complex{BigFloat}
         end
     end
 end
-
-li2(::Missing) = missing
diff --git a/src/Li3.jl b/src/Li3.jl
index 2ede82a..171ce57 100644
--- a/src/Li3.jl
+++ b/src/Li3.jl
@@ -103,8 +103,6 @@ function _reli3(x::Float64)::Float64
     end
 end
 
-reli3(::Missing) = missing
-
 """
     li3(z::Complex)
 
@@ -202,5 +200,3 @@ function _li3(z::ComplexF64)::ComplexF64
         end
     end
 end
-
-li3(::Missing) = missing
diff --git a/src/Li4.jl b/src/Li4.jl
index c571e3f..e7625e5 100644
--- a/src/Li4.jl
+++ b/src/Li4.jl
@@ -139,8 +139,6 @@ function _reli4(x::Float64)::Float64
     end
 end
 
-reli4(::Missing) = missing
-
 """
     li4(z::Complex)
 
@@ -246,5 +244,3 @@ function _li4(z::ComplexF64)::ComplexF64
         end
     end
 end
-
-li4(::Missing) = missing
diff --git a/src/Li5.jl b/src/Li5.jl
index 4a92457..9c020b7 100644
--- a/src/Li5.jl
+++ b/src/Li5.jl
@@ -97,5 +97,3 @@ function _li5(z::ComplexF64)::ComplexF64
         u8*u8*(B[16] + u*B[17] + u2*(B[18] + u*B[19]))
     end
 end
-
-li5(::Missing) = missing
diff --git a/src/Li6.jl b/src/Li6.jl
index ae9f006..fcb3016 100644
--- a/src/Li6.jl
+++ b/src/Li6.jl
@@ -96,5 +96,3 @@ function _li6(z::ComplexF64)::ComplexF64
         )
     end
 end
-
-li6(::Missing) = missing
diff --git a/src/Missing.jl b/src/Missing.jl
new file mode 100644
index 0000000..5d333d3
--- /dev/null
+++ b/src/Missing.jl
@@ -0,0 +1,7 @@
+for f in (:li0, :li1, :li2, :li3, :li4, :li5, :li6, :reli1, :reli2, :reli3, :reli4)
+    @eval $(f)(::Missing) = missing
+end
+
+for f in (:li, :reli)
+    @eval $(f)(::Integer, ::Missing) = missing
+end
diff --git a/src/PolyLog.jl b/src/PolyLog.jl
index 2c24335..f6233ae 100644
--- a/src/PolyLog.jl
+++ b/src/PolyLog.jl
@@ -14,6 +14,7 @@ include("Li5.jl")
 include("Li6.jl")
 include("Li.jl")
 include("Log.jl")
+include("Missing.jl")
 include("Types.jl")
 include("Zeta.jl")
 
diff --git a/test/Li.jl b/test/Li.jl
index c92a0b5..25f5e99 100644
--- a/test/Li.jl
+++ b/test/Li.jl
@@ -29,9 +29,6 @@ end
     for ni in nis
         n = ni.n
 
-        @test ismissing(PolyLog.li(n, missing))
-        @test ismissing(PolyLog.reli(n, missing))
-
         complex_data = read_from(joinpath(@__DIR__, "data", "Li$(n).txt"), BigFloat)
         real_data = filter_real(complex_data)
 
diff --git a/test/Li0.jl b/test/Li0.jl
index 44ccac6..1929ab9 100644
--- a/test/Li0.jl
+++ b/test/Li0.jl
@@ -1,6 +1,4 @@
 @testset "li0" begin
-    @test ismissing(PolyLog.li0(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li0.txt"), BigFloat)
     real_data = filter_real(cmpl_data)
 
diff --git a/test/Li1.jl b/test/Li1.jl
index 9954d4a..ce2f629 100644
--- a/test/Li1.jl
+++ b/test/Li1.jl
@@ -1,7 +1,4 @@
 @testset "li1" begin
-    @test ismissing(PolyLog.li1(missing))
-    @test ismissing(PolyLog.reli1(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li1.txt"), BigFloat)
     real_data = filter_real(cmpl_data)
 
diff --git a/test/Li2.jl b/test/Li2.jl
index 1aca89a..c381efc 100644
--- a/test/Li2.jl
+++ b/test/Li2.jl
@@ -1,7 +1,4 @@
 @testset "li2" begin
-    @test ismissing(PolyLog.li2(missing))
-    @test ismissing(PolyLog.reli2(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li2.txt"), BigFloat)
     real_data = filter_real(cmpl_data)
 
diff --git a/test/Li3.jl b/test/Li3.jl
index 0ae7111..e57fc0d 100644
--- a/test/Li3.jl
+++ b/test/Li3.jl
@@ -1,7 +1,4 @@
 @testset "li3" begin
-    @test ismissing(PolyLog.li3(missing))
-    @test ismissing(PolyLog.reli3(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li3.txt"), BigFloat)
     real_data = filter_real(cmpl_data)
 
diff --git a/test/Li4.jl b/test/Li4.jl
index 32392a4..2c6db93 100644
--- a/test/Li4.jl
+++ b/test/Li4.jl
@@ -1,7 +1,4 @@
 @testset "li4" begin
-    @test ismissing(PolyLog.li4(missing))
-    @test ismissing(PolyLog.reli4(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li4.txt"), BigFloat)
     real_data = filter_real(cmpl_data)
 
diff --git a/test/Li5.jl b/test/Li5.jl
index e422af9..13d43c5 100644
--- a/test/Li5.jl
+++ b/test/Li5.jl
@@ -1,6 +1,4 @@
 @testset "li5" begin
-    @test ismissing(PolyLog.li5(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li5.txt"), BigFloat)
 
     test_function_on_data(PolyLog.li5, map(ComplexF64, cmpl_data), 1e-14, 1e-14)
diff --git a/test/Li6.jl b/test/Li6.jl
index 143e142..3a5d574 100644
--- a/test/Li6.jl
+++ b/test/Li6.jl
@@ -1,6 +1,4 @@
 @testset "li6" begin
-    @test ismissing(PolyLog.li6(missing))
-
     cmpl_data = read_from(joinpath(@__DIR__, "data", "Li6.txt"), BigFloat)
 
     test_function_on_data(PolyLog.li6, map(ComplexF64, cmpl_data), 1e-14, 1e-14)
diff --git a/test/Missing.jl b/test/Missing.jl
new file mode 100644
index 0000000..c7f0bf1
--- /dev/null
+++ b/test/Missing.jl
@@ -0,0 +1,19 @@
+@testset "Missing" begin
+    @test ismissing(PolyLog.li0(missing))
+    @test ismissing(PolyLog.li1(missing))
+    @test ismissing(PolyLog.li2(missing))
+    @test ismissing(PolyLog.li3(missing))
+    @test ismissing(PolyLog.li4(missing))
+    @test ismissing(PolyLog.li5(missing))
+    @test ismissing(PolyLog.li6(missing))
+
+    @test ismissing(PolyLog.reli1(missing))
+    @test ismissing(PolyLog.reli2(missing))
+    @test ismissing(PolyLog.reli3(missing))
+    @test ismissing(PolyLog.reli4(missing))
+    
+    for n in -16:16
+        @test ismissing(PolyLog.li(n, missing))
+        @test ismissing(PolyLog.reli(n, missing))
+    end
+end
diff --git a/test/runtests.jl b/test/runtests.jl
index 57407dc..3740ffd 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -21,4 +21,5 @@ include("Li5.jl")
 include("Li6.jl")
 include("Li.jl")
 include("Log.jl")
+include("Missing.jl")
 include("Zeta.jl")