diff --git a/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp b/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp
index e9ea4e90c5a1dfc7e7045ebb149c687e766b65a1..130da5800bd67c5a29f8af1c33c6813c3b1b7a9b 100644
--- a/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp
+++ b/src/libs/modelinglib/qmt/config/stereotypedefinitionparser.cpp
@@ -117,7 +117,7 @@ StereotypeDefinitionParserError::~StereotypeDefinitionParserError()
 class StereotypeDefinitionParser::StereotypeDefinitionParserPrivate
 {
 public:
-    TextScanner *m_scanner = 0;
+    TextScanner *m_scanner = nullptr;
 
 };
 
@@ -134,8 +134,8 @@ public:
     }
 
     int m_keyword = -1;
-    ShapeValueF::Unit m_unit;
-    ShapeValueF::Origin m_origin;
+    ShapeValueF::Unit m_unit = ShapeValueF::UnitAbsolute;
+    ShapeValueF::Origin m_origin = ShapeValueF::OriginCenter;
 };
 
 StereotypeDefinitionParser::StereotypeDefinitionParser(QObject *parent)
diff --git a/src/libs/modelinglib/qmt/config/token.cpp b/src/libs/modelinglib/qmt/config/token.cpp
index 9ef1ee2bd81d42f54544ede74af94e404b23085d..8c740f95be8f7e4ca66759233fa76abffd7b6f4f 100644
--- a/src/libs/modelinglib/qmt/config/token.cpp
+++ b/src/libs/modelinglib/qmt/config/token.cpp
@@ -46,10 +46,6 @@ Token::Token(Token::Type type, int subtype, const QString &text, const SourcePos
 {
 }
 
-Token::~Token()
-{
-}
-
 void Token::setType(Token::Type type)
 {
     m_type = type;
diff --git a/src/libs/modelinglib/qmt/config/token.h b/src/libs/modelinglib/qmt/config/token.h
index 8672c0ea1d840f53a38ef7471cb76c583979f825..dd9888795ceae8a0d18062b3036c11a90121d508 100644
--- a/src/libs/modelinglib/qmt/config/token.h
+++ b/src/libs/modelinglib/qmt/config/token.h
@@ -50,7 +50,6 @@ public:
     Token();
     Token(Type type, const QString &text, const SourcePos &sourcePos);
     Token(Type type, int subtype, const QString &text, const SourcePos &sourcePos);
-    ~Token();
 
     Type type() const { return m_type; }
     void setType(Type type);
diff --git a/src/libs/modelinglib/qmt/diagram_controller/dupdatevisitor.cpp b/src/libs/modelinglib/qmt/diagram_controller/dupdatevisitor.cpp
index 3454de2602909384264a1289cb555bdf2d974cdf..16cef093d2658774423d2b017d29432e6ec9e863 100644
--- a/src/libs/modelinglib/qmt/diagram_controller/dupdatevisitor.cpp
+++ b/src/libs/modelinglib/qmt/diagram_controller/dupdatevisitor.cpp
@@ -154,7 +154,7 @@ void DUpdateVisitor::visitMRelation(const MRelation *relation)
     // TODO improve performance of MDiagram::findDiagramElement
     DObject *endAObject = dynamic_cast<DObject *>(m_diagram->findDiagramElement(drelation->endAUid()));
     if (!endAObject || relation->endAUid() != endAObject->modelUid()) {
-        isUpdating(true);
+        (void) isUpdating(true);
         endAObject = 0;
         // TODO use DiagramController::findDelegate (and improve performance of that method)
         foreach (DElement *diagramElement, m_diagram->diagramElements()) {
@@ -170,7 +170,7 @@ void DUpdateVisitor::visitMRelation(const MRelation *relation)
     }
     DObject *endBObject = dynamic_cast<DObject *>(m_diagram->findDiagramElement(drelation->endBUid()));
     if (!endBObject || relation->endBUid() != endBObject->modelUid()) {
-        isUpdating(true);
+        (void) isUpdating(true);
         endBObject = 0;
         // TODO use DiagramController::findDelegate
         foreach (DElement *diagramElement, m_diagram->diagramElements()) {
diff --git a/src/libs/modelinglib/qmt/diagram_scene/items/stereotypedisplayvisitor.cpp b/src/libs/modelinglib/qmt/diagram_scene/items/stereotypedisplayvisitor.cpp
index b5130477ad870e59717ae5cdc2bc90d255dda538..dae666a3eb52b3c6e26713b3907b619525e4539a 100644
--- a/src/libs/modelinglib/qmt/diagram_scene/items/stereotypedisplayvisitor.cpp
+++ b/src/libs/modelinglib/qmt/diagram_scene/items/stereotypedisplayvisitor.cpp
@@ -121,7 +121,7 @@ void StereotypeDisplayVisitor::visitDClass(const DClass *klass)
     m_stereotypeIconElement = StereotypeIcon::ElementClass;
     MClass *modelKlass = m_modelController->findObject<MClass>(klass->modelUid());
     bool hasMembers = false;
-    if (!modelKlass->members().isEmpty() && klass->showAllMembers())
+    if (modelKlass && !modelKlass->members().isEmpty() && klass->showAllMembers())
         hasMembers = true;
     m_stereotypeSmartDisplay = hasMembers ? DObject::StereotypeDecoration : DObject::StereotypeIcon;
     visitDObject(klass);
diff --git a/src/libs/modelinglib/qmt/model/mclassmember.cpp b/src/libs/modelinglib/qmt/model/mclassmember.cpp
index 49bea877b7d5b6f99a496bbd9eda634d763334aa..a8be5d128ff16638f90c5f81368dd1893096336b 100644
--- a/src/libs/modelinglib/qmt/model/mclassmember.cpp
+++ b/src/libs/modelinglib/qmt/model/mclassmember.cpp
@@ -33,35 +33,6 @@ MClassMember::MClassMember(MemberType memberType)
 {
 }
 
-MClassMember::MClassMember(const MClassMember &rhs)
-    : m_uid(rhs.m_uid),
-      m_stereotypes(rhs.m_stereotypes),
-      m_group(rhs.m_group),
-      m_declaration(rhs.m_declaration),
-      m_visibility(rhs.m_visibility),
-      m_memberType(rhs.m_memberType),
-      m_properties(rhs.m_properties)
-{
-}
-
-MClassMember::~MClassMember()
-{
-}
-
-MClassMember &MClassMember::operator=(const MClassMember &rhs)
-{
-    if (this != &rhs) {
-        m_uid = rhs.m_uid;
-        m_stereotypes = rhs.m_stereotypes;
-        m_group = rhs.m_group;
-        m_declaration = rhs.m_declaration;
-        m_visibility = rhs.m_visibility;
-        m_memberType = rhs.m_memberType;
-        m_properties = rhs.m_properties;
-    }
-    return *this;
-}
-
 void MClassMember::setUid(const Uid &uid)
 {
     m_uid = uid;
diff --git a/src/libs/modelinglib/qmt/model/mclassmember.h b/src/libs/modelinglib/qmt/model/mclassmember.h
index 99acb8d2ae17542948513645515a854ef781f11a..d6ca6352b63adf7ed4da150f68de281d533e56d3 100644
--- a/src/libs/modelinglib/qmt/model/mclassmember.h
+++ b/src/libs/modelinglib/qmt/model/mclassmember.h
@@ -69,10 +69,6 @@ public:
     Q_DECLARE_FLAGS(Properties, Property)
 
     explicit MClassMember(MemberType memberType = MemberUndefined);
-    MClassMember(const MClassMember &rhs);
-    ~MClassMember();
-
-    MClassMember &operator=(const MClassMember &rhs);
 
     Uid uid() const { return m_uid; }
     void setUid(const Uid &uid);
diff --git a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
index 2b940f012a4abafc8331c49ae9409c38622f99f9..3b97b1e460686a8322c82d9a2f802b34e5288bb2 100644
--- a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
+++ b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
@@ -505,9 +505,10 @@ private:
         QMT_CHECK(object);
         MObject *formerOwner = object->owner();
         int formerRow = formerOwner->children().indexOf(object);
+        MObject *newOwner = m_modelController->findObject(m_ownerKey);
+        QMT_CHECK(newOwner);
         emit m_modelController->beginMoveObject(formerRow, formerOwner);
         formerOwner->decontrolChild(object);
-        MObject *newOwner = m_modelController->findObject(m_ownerKey);
         newOwner->insertChild(m_indexOfElement, object);
         int newRow = m_indexOfElement;
         m_ownerKey = formerOwner->uid();
@@ -560,9 +561,10 @@ private:
         QMT_CHECK(relation);
         MObject *formerOwner = relation->owner();
         int formerRow = formerOwner->relations().indexOf(relation);
+        MObject *newOwner = m_modelController->findObject(m_ownerKey);
+        QMT_CHECK(newOwner);
         emit m_modelController->beginMoveRelation(formerRow, formerOwner);
         formerOwner->decontrolRelation(relation);
-        MObject *newOwner = m_modelController->findObject(m_ownerKey);
         newOwner->insertRelation(m_indexOfElement, relation);
         int newRow = m_indexOfElement;
         m_ownerKey = formerOwner->uid();
diff --git a/src/libs/modelinglib/qmt/model_ui/sortedtreemodel.h b/src/libs/modelinglib/qmt/model_ui/sortedtreemodel.h
index fed3721768c2fde9e98e8f9683d6521161e3a050..25e3c55ea58de6897730218c871951a12d5e602f 100644
--- a/src/libs/modelinglib/qmt/model_ui/sortedtreemodel.h
+++ b/src/libs/modelinglib/qmt/model_ui/sortedtreemodel.h
@@ -55,7 +55,7 @@ private:
 
     void startDelayedSortTimer();
 
-    TreeModel *m_treeModel;
+    TreeModel *m_treeModel = nullptr;
     QTimer m_delayedSortTimer;
 };
 
diff --git a/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp b/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp
index 62ceaad1a39bf6d21c95f7e1e7d514521a754c74..b87886e263c52b849024e9ac122697610f3554c0 100644
--- a/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp
+++ b/src/libs/modelinglib/qmt/model_widgets_ui/propertiesviewmview.cpp
@@ -639,6 +639,7 @@ void PropertiesView::MView::visitMInheritance(const MInheritance *inheritance)
     QMT_CHECK(derivedClass);
     setEndAName(tr("Derived class: %1").arg(derivedClass->name()));
     MObject *baseClass = m_propertiesView->modelController()->findObject(inheritance->base());
+    QMT_CHECK(baseClass);
     setEndBName(tr("Base class: %1").arg(baseClass->name()));
     visitMRelation(inheritance);
 }
diff --git a/src/libs/modelinglib/qmt/project/project.h b/src/libs/modelinglib/qmt/project/project.h
index b135769d8757f9a0cb7a1272213cb2d849568280..d803789b87c8ea01a07fbbda60a4eea716ace25e 100644
--- a/src/libs/modelinglib/qmt/project/project.h
+++ b/src/libs/modelinglib/qmt/project/project.h
@@ -52,7 +52,7 @@ public:
 private:
     Uid m_uid;
     QString m_fileName;
-    MPackage *m_rootPackage;
+    MPackage *m_rootPackage = nullptr;
     QString m_configPath;
 };
 
diff --git a/src/libs/modelinglib/qmt/stereotype/iconshape.h b/src/libs/modelinglib/qmt/stereotype/iconshape.h
index 0efea797ff82f78555cbd312b6c4705caf2a8627..59148ee03ec6ae2d18e2cf7d0eda3e71f6476c8b 100644
--- a/src/libs/modelinglib/qmt/stereotype/iconshape.h
+++ b/src/libs/modelinglib/qmt/stereotype/iconshape.h
@@ -42,9 +42,11 @@ class QMT_EXPORT IconShape
 public:
     IconShape();
     IconShape(const IconShape &rhs);
+    IconShape(const IconShape &&) = delete;
     ~IconShape();
 
     IconShape &operator=(const IconShape &rhs);
+    IconShape &operator=(const IconShape &&) = delete;
 
     QSizeF size() const;
     void setSize(const QSizeF &size);
diff --git a/src/libs/modelinglib/qmt/stereotype/stereotypeicon.cpp b/src/libs/modelinglib/qmt/stereotype/stereotypeicon.cpp
index 885eeade53210fada9a602911afbeb509c950f48..d3cc9d606bb7ef34c4e8c04a8c14967a3bc1376b 100644
--- a/src/libs/modelinglib/qmt/stereotype/stereotypeicon.cpp
+++ b/src/libs/modelinglib/qmt/stereotype/stereotypeicon.cpp
@@ -27,21 +27,6 @@
 
 namespace qmt {
 
-StereotypeIcon::StereotypeIcon()
-    : m_width(100.0),
-      m_height(100.0),
-      m_minWidth(-1),
-      m_minHeight(-1),
-      m_sizeLock(LockNone),
-      m_display(DisplaySmart),
-      m_textAlignment(TextalignBelow)
-{
-}
-
-StereotypeIcon::~StereotypeIcon()
-{
-}
-
 void StereotypeIcon::setId(const QString &id)
 {
     m_id = id;
diff --git a/src/libs/modelinglib/qmt/stereotype/stereotypeicon.h b/src/libs/modelinglib/qmt/stereotype/stereotypeicon.h
index 354bd6f9ce4a9690866ecd6e6a2f696d608a60fc..acdeb3f07e88c0623726d23df7fed3b7954a832c 100644
--- a/src/libs/modelinglib/qmt/stereotype/stereotypeicon.h
+++ b/src/libs/modelinglib/qmt/stereotype/stereotypeicon.h
@@ -67,9 +67,6 @@ public:
         TextalignNone
     };
 
-    StereotypeIcon();
-    ~StereotypeIcon();
-
     QString id() const { return m_id; }
     void setId(const QString &id);
     QString title() const;
@@ -104,13 +101,13 @@ private:
     QString m_title;
     QSet<Element> m_elements;
     QSet<QString> m_stereotypes;
-    qreal m_width;
-    qreal m_height;
-    qreal m_minWidth;
-    qreal m_minHeight;
-    SizeLock m_sizeLock;
-    Display m_display;
-    TextAlignment m_textAlignment;
+    qreal m_width = 100.0;
+    qreal m_height = 100.0;
+    qreal m_minWidth = -1;
+    qreal m_minHeight = -1;
+    SizeLock m_sizeLock = LockNone;
+    Display m_display = DisplaySmart;
+    TextAlignment m_textAlignment = TextalignBelow;
     QColor m_baseColor;
     IconShape m_iconShape;
 };