diff --git a/r5dev/public/tier1/cmd.h b/r5dev/public/tier1/cmd.h
index a99a358d..df51c698 100644
--- a/r5dev/public/tier1/cmd.h
+++ b/r5dev/public/tier1/cmd.h
@@ -73,7 +73,7 @@ public:
 private:
 	cmd_source_t m_nQueuedVal;
 	int          m_nArgc;
-	int64_t      m_nArgv0Size;
+	ssize_t      m_nArgv0Size;
 	char         m_pArgSBuffer[COMMAND_MAX_LENGTH];
 	char         m_pArgvBuffer[COMMAND_MAX_LENGTH];
 	const char*  m_ppArgv[COMMAND_MAX_ARGC];
diff --git a/r5dev/tier1/cmd.cpp b/r5dev/tier1/cmd.cpp
index 58f93956..36f1895b 100644
--- a/r5dev/tier1/cmd.cpp
+++ b/r5dev/tier1/cmd.cpp
@@ -58,7 +58,7 @@ CCommand::CCommand(int nArgC, const char** ppArgV, cmd_source_t source)
 	for (int i = 0; i < nArgC; ++i)
 	{
 		m_ppArgv[i] = pBuf;
-		int64 nLen = strlen(ppArgV[i]);
+		ssize_t nLen = strlen(ppArgV[i]);
 		memcpy(pBuf, ppArgV[i], nLen + 1);
 		if (i == 0)
 		{
@@ -127,14 +127,14 @@ bool CCommand::Tokenize(const char* pCommand, cmd_source_t source, characterset_
 
 	// Parse the current command into the current command buffer
 	CUtlBuffer bufParse(m_pArgSBuffer, nLen, CUtlBuffer::TEXT_BUFFER | CUtlBuffer::READ_ONLY);
-	int64 nArgvBufferSize = 0;
+	ssize_t nArgvBufferSize = 0;
 
 	while (bufParse.IsValid() && (m_nArgc < COMMAND_MAX_ARGC))
 	{
 		char* pArgvBuf = &m_pArgvBuffer[nArgvBufferSize];
-		int64 nMaxLen = COMMAND_MAX_LENGTH - nArgvBufferSize;
-		int64 nStartGet = bufParse.TellGet();
-		int64 nSize = bufParse.ParseToken(pBreakSet, pArgvBuf, nMaxLen);
+		ssize_t nMaxLen = COMMAND_MAX_LENGTH - nArgvBufferSize;
+		ssize_t nStartGet = bufParse.TellGet();
+		ssize_t nSize = bufParse.ParseToken(pBreakSet, pArgvBuf, nMaxLen);
 
 		if (nSize < 0)
 			break;