diff --git a/src/box/lua/snapshot_daemon.lua b/src/box/lua/snapshot_daemon.lua
index 312d328f4e9e65187c9f4ce56d034838e5d94524..8b8938d2b6196de60a856e7e2cf227d097d64579 100644
--- a/src/box/lua/snapshot_daemon.lua
+++ b/src/box/lua/snapshot_daemon.lua
@@ -239,6 +239,10 @@ do
             end,
 
             set_snapshot_count = function(snapshot_count)
+                if math.floor(snapshot_count) ~= snapshot_count then
+                    box.error(box.error.PROC_LUA,
+                        "snapshot_count must be integer")
+                end
                 local daemon = box.internal[PREFIX] or daemon
                 log.info("new snapshot count is %s", tostring(snapshot_count))
 
diff --git a/test/box/snapshot_daemon.result b/test/box/snapshot_daemon.result
index e1d0725f16c470b2596437addb788895ae03601e..57e0fd3d52964518cf632195051ce6f36021c963 100644
--- a/test/box/snapshot_daemon.result
+++ b/test/box/snapshot_daemon.result
@@ -112,3 +112,7 @@ PERIOD
 ---
 - 0.03
 ...
+box.cfg{ snapshot_count = .2 }
+---
+- error: snapshot_count must be integer
+...
diff --git a/test/box/snapshot_daemon.test.lua b/test/box/snapshot_daemon.test.lua
index 2701941c23ae3635a0ba339c01652a9fdd50027a..45aeb441fc5981d1527210571af289b486396613 100644
--- a/test/box/snapshot_daemon.test.lua
+++ b/test/box/snapshot_daemon.test.lua
@@ -70,3 +70,5 @@ box.cfg{snapshot_period = 3600 * 4, snapshot_count = 4 }
 space:drop()
 
 PERIOD
+
+box.cfg{ snapshot_count = .2 }