diff --git a/components/net/cpp/include/ftl/net/universe.hpp b/components/net/cpp/include/ftl/net/universe.hpp
index 11ebcfdf51620808c1333a0be65be2688b08e7d2..169eff58923b115287539c50358fe1840e91ce57 100644
--- a/components/net/cpp/include/ftl/net/universe.hpp
+++ b/components/net/cpp/include/ftl/net/universe.hpp
@@ -59,7 +59,7 @@ class Universe : public ftl::Configurable {
 	 */
 	Peer *connect(const std::string &addr);
 	
-	int numberOfPeers() const { return peers_.size(); }
+	size_t numberOfPeers() const { return peers_.size(); }
 
 	int waitConnections();
 	
diff --git a/components/net/cpp/include/ftl/uuid.hpp b/components/net/cpp/include/ftl/uuid.hpp
index c7c884e5defa36ee8d4cd8bdf96c4f9e263a5d52..5d494b8ddc26b262113b42db0bf1e461d61fc8c9 100644
--- a/components/net/cpp/include/ftl/uuid.hpp
+++ b/components/net/cpp/include/ftl/uuid.hpp
@@ -56,6 +56,7 @@ namespace ftl {
 			if (::UuidToStringA(&guid_, &szUuid) == RPC_S_OK) {
 				return std::string((char*)szUuid);
 			}
+			return "00000000-0000-0000-0000-000000000000";
 #else
 			char b[37];
 			uuid_unparse(uuid_, b);
diff --git a/components/net/cpp/src/universe.cpp b/components/net/cpp/src/universe.cpp
index 55ab9b0a50ca43401e92c09eb69c1e9a395deeaa..85733459c1ee0d24b2c45edbc639e291bf54e841 100644
--- a/components/net/cpp/src/universe.cpp
+++ b/components/net/cpp/src/universe.cpp
@@ -106,7 +106,7 @@ int Universe::_setDescriptors() {
 	FD_ZERO(&sfdread_);
 	FD_ZERO(&sfderror_);
 
-	int n = 0;
+	SOCKET n = 0;
 
 	unique_lock<mutex> lk(net_mutex_);
 
@@ -193,7 +193,7 @@ bool Universe::createResource(const std::string &uri) {
 int Universe::numberOfSubscribers(const std::string &res) const {
 	auto s = subscribers_.find(res);
 	if (s != subscribers_.end()) {
-		return s->second.size();
+		return (int)s->second.size();
 	} else {
 		return -1;
 	}
@@ -276,7 +276,7 @@ void Universe::_run() {
 					sockaddr_storage addr;
 
 					//Finally accept this client connection.
-					int csock = accept(l->_socket(), (sockaddr*)&addr, (socklen_t*)&rsize);
+					SOCKET csock = accept(l->_socket(), (sockaddr*)&addr, (socklen_t*)&rsize);
 
 					if (csock != INVALID_SOCKET) {
 						auto p = new Peer(csock, &disp_);
diff --git a/components/net/cpp/test/peer_unit.cpp b/components/net/cpp/test/peer_unit.cpp
index dd780cbc4f5d20c17d012da3a36c4341da6e90a2..d9a67fdb2126b93d6b688bfdea6e663757258f67 100644
--- a/components/net/cpp/test/peer_unit.cpp
+++ b/components/net/cpp/test/peer_unit.cpp
@@ -40,7 +40,7 @@ class MockPeer : public Peer {
 
 // --- Support -----------------------------------------------------------------
 
-static std::map<int, std::string> fakedata;
+static std::map<SOCKET, std::string> fakedata;
 
 #ifdef WIN32
 int ftl::net::internal::recv(SOCKET sd, char *buf, int n, int f) {
@@ -52,7 +52,7 @@ ssize_t ftl::net::internal::recv(SOCKET sd, void *buf, size_t n, int f) {
 		return 0;
 	}
 	
-	int l = fakedata[sd].size();
+	size_t l = fakedata[sd].size();
 	
 	std::memcpy(buf, fakedata[sd].c_str(), l);
 	fakedata.erase(sd);