diff --git a/src/storage/dd/CuddDd.cpp b/src/storage/dd/CuddDd.cpp
index 69fadf5c9..0e163c5f7 100644
--- a/src/storage/dd/CuddDd.cpp
+++ b/src/storage/dd/CuddDd.cpp
@@ -16,7 +16,7 @@ namespace storm {
         }
         
         bool Dd<DdType::CUDD>::operator!=(Dd<DdType::CUDD> const& other) const {
-            return this->cuddAdd == other.getCuddAdd();
+            return this->cuddAdd != other.getCuddAdd();
         }
         
         Dd<DdType::CUDD> Dd<DdType::CUDD>::operator+(Dd<DdType::CUDD> const& other) const {
diff --git a/test/functional/storage/CuddDdTest.cpp b/test/functional/storage/CuddDdTest.cpp
index 9230f00e3..8a5be849a 100644
--- a/test/functional/storage/CuddDdTest.cpp
+++ b/test/functional/storage/CuddDdTest.cpp
@@ -118,6 +118,9 @@ TEST(CuddDd, OperatorTest) {
     manager->addMetaVariable("x", 1, 9);
     EXPECT_TRUE(manager->getZero() == manager->getZero());
     EXPECT_FALSE(manager->getZero() == manager->getOne());
+
+    EXPECT_FALSE(manager->getZero() != manager->getZero());
+    EXPECT_TRUE(manager->getZero() != manager->getOne());
     
     storm::dd::Dd<storm::dd::DdType::CUDD> dd1 = manager->getOne();
     storm::dd::Dd<storm::dd::DdType::CUDD> dd2 = manager->getOne();