diff --git a/xmrstak/backend/amd/jconf.cpp b/xmrstak/backend/amd/jconf.cpp
index 0f39ff2b99d9cce4b3869a3917585ce86f94811f..9e15c930c35428359321c19a81642f9076977eeb 100644
--- a/xmrstak/backend/amd/jconf.cpp
+++ b/xmrstak/backend/amd/jconf.cpp
@@ -142,14 +142,14 @@ bool jconf::GetThreadConfig(size_t id, thd_cfg &cfg)
 		return false;
 	}
 
-	cfg.memChunk = (int)memChunk->GetInt64();
-
-	if(!idx->IsUint64() || cfg.memChunk > 18 )
+	if(!memChunk->IsUint64() || (int)memChunk->GetInt64() > 18 )
 	{
 		printer::inst()->print_msg(L0, "ERROR: mem_chunk must be smaller than 18");
 		return false;
 	}
 
+	cfg.memChunk = (int)memChunk->GetInt64();
+
 	if(!compMode->IsBool())
 		return false;