diff --git a/include/caosdb/entity.h b/include/caosdb/entity.h
index 831200c0ff7fdafbd265bb4778b62f51003b6836..ec773b8b0e7a3209b181e2dc0789aadb1232f6a4 100644
--- a/include/caosdb/entity.h
+++ b/include/caosdb/entity.h
@@ -517,9 +517,11 @@ public:
   auto SetValue(const std::vector<std::string> &values) -> StatusCode;
   auto SetValue(const std::vector<char *> &values) -> StatusCode;
   auto SetValue(const std::vector<int64_t> &values) -> StatusCode;
+  auto SetValue(const std::vector<int> &values) -> StatusCode;
   auto SetValue(const std::vector<double> &values) -> StatusCode;
   auto SetValue(const std::vector<bool> &values) -> StatusCode;
   auto SetValue(const int64_t value) -> StatusCode;
+  auto SetValue(const int value) -> StatusCode;
   auto SetValue(const bool value) -> StatusCode;
 
   /**
@@ -671,9 +673,11 @@ public:
   auto SetValue(const std::vector<std::string> &values) -> StatusCode;
   auto SetValue(const std::vector<char *> &values) -> StatusCode;
   auto SetValue(const std::vector<int64_t> &values) -> StatusCode;
+  auto SetValue(const std::vector<int> &values) -> StatusCode;
   auto SetValue(const std::vector<double> &values) -> StatusCode;
   auto SetValue(const std::vector<bool> &values) -> StatusCode;
   auto SetValue(const int64_t value) -> StatusCode;
+  auto SetValue(const int value) -> StatusCode;
   auto SetValue(const bool value) -> StatusCode;
 
   auto SetUnit(const std::string &unit) -> void;
diff --git a/include/caosdb/value.h b/include/caosdb/value.h
index 30ee2b1c26fd123988d8591c8ed33cd3621ce5b8..e6ca1f33bcd43ce41acd44e4244c8d3825b43ebe 100644
--- a/include/caosdb/value.h
+++ b/include/caosdb/value.h
@@ -110,6 +110,7 @@ public:
   explicit inline Value(int64_t value) : ProtoMessageWrapper<ProtoValue>() {
     this->wrapped->mutable_scalar_value()->set_integer_value(value);
   }
+  explicit inline Value(int value) : Value(static_cast<int64_t>(value)) {}
   explicit inline Value(bool value) : ProtoMessageWrapper<ProtoValue>() {
     this->wrapped->mutable_scalar_value()->set_boolean_value(value);
   }
diff --git a/src/caosdb/entity.cpp b/src/caosdb/entity.cpp
index 55c5936407fa41b44d50ffa5d1dee69a4428b5e1..293368b268bc44d6db1bbd5e5983b6421fe6fbbb 100644
--- a/src/caosdb/entity.cpp
+++ b/src/caosdb/entity.cpp
@@ -128,6 +128,10 @@ auto Property::SetValue(const std::vector<int64_t> &values) -> StatusCode {
   return SetValue(Value(values));
 }
 
+auto Property::SetValue(const std::vector<int> &values) -> StatusCode {
+  return SetValue(Value(values));
+}
+
 auto Property::SetValue(const std::vector<double> &values) -> StatusCode {
   return SetValue(Value(values));
 }
@@ -138,6 +142,8 @@ auto Property::SetValue(const std::vector<bool> &values) -> StatusCode {
 
 auto Property::SetValue(const int64_t value) -> StatusCode { return SetValue(Value(value)); }
 
+auto Property::SetValue(const int value) -> StatusCode { return SetValue(Value(value)); }
+
 auto Property::SetValue(const bool value) -> StatusCode { return SetValue(Value(value)); }
 
 auto Property::SetUnit(const std::string &unit) -> void { this->wrapped->set_unit(unit); }
@@ -226,6 +232,10 @@ auto Entity::SetValue(const std::vector<int64_t> &values) -> StatusCode {
   return SetValue(Value(values));
 }
 
+auto Entity::SetValue(const std::vector<int> &values) -> StatusCode {
+  return SetValue(Value(values));
+}
+
 auto Entity::SetValue(const std::vector<double> &values) -> StatusCode {
   return SetValue(Value(values));
 }
@@ -236,6 +246,8 @@ auto Entity::SetValue(const std::vector<bool> &values) -> StatusCode {
 
 auto Entity::SetValue(const int64_t value) -> StatusCode { return SetValue(Value(value)); }
 
+auto Entity::SetValue(const int value) -> StatusCode { return SetValue(Value(value)); }
+
 auto Entity::SetValue(const bool value) -> StatusCode { return SetValue(Value(value)); }
 
 auto Entity::SetUnit(const std::string &unit) -> void { this->wrapped->set_unit(unit); }
diff --git a/test/test_value.cpp b/test/test_value.cpp
index 855d0101d36e48eee0f6b6d0215ad491af9aa677..74d30f04b621a0e118bc7591a07aab052786c790 100644
--- a/test/test_value.cpp
+++ b/test/test_value.cpp
@@ -68,7 +68,7 @@ TEST(test_value, test_string) {
 
   // Test inequality
   Value string1("1");
-  Value int1(static_cast<int64_t>(1));
+  Value int1(1);
   EXPECT_FALSE(string1 == int1);
 }
 
@@ -93,7 +93,7 @@ TEST(test_value, test_double) {
 }
 
 TEST(test_value, test_integer) {
-  Value value(static_cast<int64_t>(1337));
+  Value value(1337);
   EXPECT_FALSE(value.IsNull());
   EXPECT_FALSE(value.IsString());
   EXPECT_FALSE(value.IsDouble());