diff --git a/src/libs/core/instruments/tbandoneonbg.cpp b/src/libs/core/instruments/tbandoneonbg.cpp
index 0c3a4d8aeaa4542f32c9bf693369f8f29997978e..a82543767f642a981ddf2b285d56df0bfb0f14c6 100644
--- a/src/libs/core/instruments/tbandoneonbg.cpp
+++ b/src/libs/core/instruments/tbandoneonbg.cpp
@@ -295,6 +295,18 @@ void TbandoneonBg::setRightX(qreal rx) {
   }
 }
 
+
+void TbandoneonBg::markSelected(const QColor& markColor) {
+  auto mc = markColor.alpha() ? markColor : Qt::blue;
+  m_circleLeftOpen.item->setProperty("color", mc);
+  m_circleRightOpen.item->setProperty("color", mc);
+  mc = markColor.alpha() ? markColor : Qt::red;
+  m_circleLeftClose.item->setProperty("color", mc);
+  m_circleRightClose.item->setProperty("color", mc);
+  m_circleCloseExtra.item->setProperty("color", mc);
+}
+
+
 //#################################################################################################
 //###################              PROTECTED           ############################################
 //#################################################################################################
diff --git a/src/libs/core/instruments/tbandoneonbg.h b/src/libs/core/instruments/tbandoneonbg.h
index 01bac14ba80fc40318ef127b945f3a1ba790c79a..f764f4713869c9dcc16b8bb52c9a6e344a00e4ff 100644
--- a/src/libs/core/instruments/tbandoneonbg.h
+++ b/src/libs/core/instruments/tbandoneonbg.h
@@ -77,6 +77,8 @@ public:
 
   void paint(QPainter*) override {}
 
+  void markSelected(const QColor & markColor) override;
+
 signals:
   void closingChanged();
   void openingChanged();
diff --git a/src/libs/core/instruments/tcommoninstrument.h b/src/libs/core/instruments/tcommoninstrument.h
index e3acbd865a7137e10d15947698e5cab9d934a234..9dbb6214b1c9f0681dfa34176fc6dd04632ff527 100644
--- a/src/libs/core/instruments/tcommoninstrument.h
+++ b/src/libs/core/instruments/tcommoninstrument.h
@@ -61,6 +61,12 @@ public:
        */
   virtual int technical() = 0;
 
+      /**
+       * Sets color of selected item (finger, button, key - depends on instrument type)
+       * to @p markColor if different than transparent, or to global color of selection
+       */
+  virtual void markSelected(const QColor& markColor) = 0;
+
 signals:
   void activeChanged();
   void noteChanged();
diff --git a/src/libs/core/instruments/tguitarbg.cpp b/src/libs/core/instruments/tguitarbg.cpp
index 38b2c8c83da18eb12f3317e5b778a452a44f97fc..18c684914d4dc0205bfdaeea9770a373676d7b53 100644
--- a/src/libs/core/instruments/tguitarbg.cpp
+++ b/src/libs/core/instruments/tguitarbg.cpp
@@ -297,6 +297,16 @@ void TguitarBg::updateGuitar() {
 }
 
 
+void TguitarBg::markSelected(const QColor& markColor) {
+  auto mc = markColor.alpha() == 0 ? GLOB->GselectedColor : markColor;
+  for (int s = 0; s < 6; ++s) {
+    m_stringItems[s]->setProperty("color", mc);
+    m_fingerItems[s]->setProperty("color", mc);
+  }
+}
+
+
+
 //#################################################################################################
 //###################              PROTECTED           ############################################
 //#################################################################################################
diff --git a/src/libs/core/instruments/tguitarbg.h b/src/libs/core/instruments/tguitarbg.h
index 56e668c7174b095e039a85c70c9056fc7533e924..e8f1f396abc95b0290d6ebb59f9a87679f6bd615 100644
--- a/src/libs/core/instruments/tguitarbg.h
+++ b/src/libs/core/instruments/tguitarbg.h
@@ -93,6 +93,8 @@ public:
        */
   void updateGuitar();
 
+  void markSelected(const QColor & markColor) override;
+
 signals:
   void fretWidthChanged();
   void stringsGapChanged();
diff --git a/src/libs/core/instruments/tpianobg.cpp b/src/libs/core/instruments/tpianobg.cpp
index b35a6c69eee2b6661c65d1f1e8b64cf5559e72d9..11fb82d307e5ae841b55b5b2654ce0624fc1d388 100644
--- a/src/libs/core/instruments/tpianobg.cpp
+++ b/src/libs/core/instruments/tpianobg.cpp
@@ -130,6 +130,11 @@ CHECKTIME (
 )
 }
 
+
+void TpianoBg::markSelected(const QColor& markColor) {
+}
+
+
 //#################################################################################################
 //###################              PROTECTED           ############################################
 //#################################################################################################
diff --git a/src/libs/core/instruments/tpianobg.h b/src/libs/core/instruments/tpianobg.h
index 43adf75c4bce02f71444bdd1ad8f3b838ca179cd..73d49a6e0cca5081705490f25ed26a57f7f0c630 100644
--- a/src/libs/core/instruments/tpianobg.h
+++ b/src/libs/core/instruments/tpianobg.h
@@ -59,6 +59,8 @@ public:
 
   void paint(QPainter* painter) override;
 
+  void markSelected(const QColor & markColor) override;
+
 signals:
   void keyRectChanged();
   void selectedRectChanged();
diff --git a/src/libs/core/instruments/tsaxbg.cpp b/src/libs/core/instruments/tsaxbg.cpp
index a8bf3d4598b510e1c569586aa5aba31a833c7576..7f7eac85985422d59f3c597a82dcedd8b036ebcb 100644
--- a/src/libs/core/instruments/tsaxbg.cpp
+++ b/src/libs/core/instruments/tsaxbg.cpp
@@ -137,3 +137,7 @@ CHECKTIME (
   }
 )
 }
+
+
+void TsaxBg::markSelected(const QColor& markColor) {
+}
diff --git a/src/libs/core/instruments/tsaxbg.h b/src/libs/core/instruments/tsaxbg.h
index 47fbd3cf78d8df8e3afad12334930fada57476cd..0c3765ba0ba5c5df0137a2a56ed4fc66d1ca078e 100644
--- a/src/libs/core/instruments/tsaxbg.h
+++ b/src/libs/core/instruments/tsaxbg.h
@@ -62,6 +62,8 @@ public:
 
   void paint(QPainter*) override {}
 
+  void markSelected(const QColor & markColor) override;
+
 
 signals:
   void flapNumberChanged();
diff --git a/src/libs/core/score/tnoteobject.cpp b/src/libs/core/score/tnoteobject.cpp
index 8dffd619b0efb950cf9c36e22ff2ca08a3e3619a..813237b28d5d670d3b586306f12cf5a19f2af70b 100644
--- a/src/libs/core/score/tnoteobject.cpp
+++ b/src/libs/core/score/tnoteobject.cpp
@@ -475,6 +475,16 @@ void TnoteObject::setFingerNumber(int fiNr)
 }
 
 
+void TnoteObject::markNoteHead(const QColor& outlineColor) {
+  if (outlineColor.alpha() == 0) {
+      m_head->setProperty("style", 0); // In Qt private qquicktext_p.h it is first value of enum TextStyle
+  } else {
+      m_head->setProperty("style", 1); // In Qt private qquicktext_p.h it is second value of enum TextStyle
+      m_head->setProperty("styleColor", outlineColor);
+  }
+}
+
+
 //#################################################################################################
 //###################              PROTECTED           ############################################
 //#################################################################################################
diff --git a/src/libs/core/score/tnoteobject.h b/src/libs/core/score/tnoteobject.h
index cbc99ed8cc78112558a307d2508211f459306568..2e512365bce9ad67ce08f59712a4670715179ecd 100644
--- a/src/libs/core/score/tnoteobject.h
+++ b/src/libs/core/score/tnoteobject.h
@@ -141,6 +141,12 @@ public:
 
   void setBowing(EbowDirection bowDir);
 
+      /**
+       * If @p outLineColor differs from note color, outline is set over note head,
+       * but when it is the same, outline is unset (what means reset the mark)
+       */
+  void markNoteHead(const QColor& outlineColor);
+
 signals:
   void noteChanged();
   void notePosYchanged();
diff --git a/src/libs/core/score/tnotepair.cpp b/src/libs/core/score/tnotepair.cpp
index 6d9e499602f77dbf185546dbbe237284ddd6a126..7bfa54d650ea0cbae0038553846f4ae244590a6b 100644
--- a/src/libs/core/score/tnotepair.cpp
+++ b/src/libs/core/score/tnotepair.cpp
@@ -93,6 +93,7 @@ void TnotePair::disconnectTie(Euntie untie) {
 
 
 void TnotePair::flush() {
+  m_noteItem->markNoteHead(Qt::transparent);
   if (m_beam && this == m_beam->last())
     delete m_beam; // TbeamObject destructor will reset this beam to nullptr
   if (this == m_noteItem->staff()->firstNote())
diff --git a/src/main/texamexecutor.cpp b/src/main/texamexecutor.cpp
index 4d8862a1f1d50ef87cfd45b9769a2591194409f0..dc7bc07670a2cde4a0867aa62860e45e379aab1e 100755
--- a/src/main/texamexecutor.cpp
+++ b/src/main/texamexecutor.cpp
@@ -674,7 +674,7 @@ void TexamExecutor::checkAnswer(bool showResults) {
       }
   }
 
-//   markAnswer(curQ);
+  markAnswer(curQ);
   int waitTime = GLOB->E->questionDelay;
   if (m_melody) // increase minimal delay before next question for melodies to 500ms
     waitTime = qMax(waitTime, 500);
@@ -838,43 +838,43 @@ void TexamExecutor::checkAnswer(bool showResults) {
 //         m_exam->curQ()->lastAttempt()->melodyWasPlayed(); // we can suppose that user will play an answer for sure 
 //   askQuestion(true);
 // }
-// 
-// 
-// void TexamExecutor::markAnswer(TQAunit* curQ) {
-//   QColor markColor = m_supp->answerColor(curQ);
-//   if (curQ->melody()) {
-//     for (int i = 0; i < curQ->lastAttempt()->mistakes.size(); ++i) {
-//       SCORE->markAnswered(m_supp->answerColor(curQ->lastAttempt()->mistakes[i]), i);
-//     }
-//   } else {
-//     switch (curQ->answerAs) {
-//       case TQAtype::e_asNote:
-//         SCORE->markAnswered(markColor);
-//         break;
-//       case TQAtype::e_asFretPos:
-//         INSTRUMENT->markAnswer(markColor);
-//         break;
-//       case TQAtype::e_asName:
-//         NOTENAME->markNameLabel(markColor);
-//         break;
-//       case TQAtype::e_asSound:
+
+
+void TexamExecutor::markAnswer(TQAunit* curQ) {
+  QColor markColor = m_supp->answerColor(curQ);
+  if (curQ->melody()) {
+    for (int i = 0; i < curQ->lastAttempt()->mistakes.size(); ++i) {
+      MAIN_SCORE->markNoteHead(m_supp->answerColor(curQ->lastAttempt()->mistakes[i]), i);
+    }
+  } else {
+    switch (curQ->answerAs) {
+      case TQAtype::e_asNote:
+        MAIN_SCORE->markNoteHead(markColor, 0);
+        break;
+      case TQAtype::e_asFretPos:
+        INSTRUMENT->markSelected(markColor);
+        break;
+      case TQAtype::e_asName:
+        NOTENAME->setMarkColor(markColor);
+        break;
+      case TQAtype::e_asSound:
 //         SOUND->pitchView()->markAnswer(markColor);
-//         break;
-//     }
-//     switch (curQ->questionAs) {
-//       case TQAtype::e_asNote:
-//         SCORE->markQuestion(markColor);
-//         break;
-//       case TQAtype::e_asFretPos:
-//         INSTRUMENT->markQuestion(markColor);
-//         break;
-//       case TQAtype::e_asName:
-//         NOTENAME->markNameLabel(markColor);
-//         break;
-//       case TQAtype::e_asSound:
-//         break;
-//     }
-//   }                                                       // TODO
+        break;
+    }
+    switch (curQ->questionAs) {
+      case TQAtype::e_asNote:
+        MAIN_SCORE->markNoteHead(markColor, 1);
+        break;
+      case TQAtype::e_asFretPos:
+        INSTRUMENT->markSelected(markColor);
+        break;
+      case TQAtype::e_asName:
+        NOTENAME->setMarkColor(markColor);
+        break;
+      case TQAtype::e_asSound:
+        break;
+    }
+  }                                                       // TODO
 //   if (m_exercise && GLOB->E->showNameOfAnswered /*&& (!GLOB->E->autoNextQuest || (GLOB->E->autoNextQuest && GLOB->E->afterMistake != TexamParams::e_continue))*/) {
 //     if (!curQ->questionAsName() && !curQ->answerAsName()) {
 //       if (curQ->answerAsNote() || (curQ->answerAsSound() && curQ->questionAsNote()))
@@ -892,9 +892,9 @@ void TexamExecutor::checkAnswer(bool showResults) {
 //       }
 //     }
 //   }
-// }
-// 
-// 
+}
+
+
 // void TexamExecutor::repeatQuestion() {
 //   m_tipHandler->tryAgainTip(3000);
 //   m_lockRightButt = false;
@@ -1115,9 +1115,12 @@ void TexamExecutor::disableWidgets() {
 
 void TexamExecutor::clearWidgets() {
   MAIN_SCORE->clearScore();
-  if (NOTENAME)
+  if (NOTENAME) {
     NOTENAME->setNote(Tnote());
+    NOTENAME->setMarkColor(Qt::transparent);
+  }
   INSTRUMENT->setNote(Tnote());
+  INSTRUMENT->markSelected(Qt::transparent);
 //   SOUND->restoreAfterAnswer();
 }
 
diff --git a/src/main/texamexecutor.h b/src/main/texamexecutor.h
index 4e2e412d0cf3917f74c6382cc0888db03a4c1c70..42ae46a60f9c3e9d5c4b5aeaaf3ba30b72373070 100644
--- a/src/main/texamexecutor.h
+++ b/src/main/texamexecutor.h
@@ -151,7 +151,7 @@ protected:
   void sniffAfterPlaying(); /**< Starts sniffing when asked note is finished */
 //   void rightButtonSlot();
   Q_INVOKABLE void tipLink(const QString& link);
-//   void markAnswer(TQAunit* curQ);
+  void markAnswer(TQAunit* curQ);
 //   void delayerTip(); /**< This is QTimer slot invoking m_canvas->whatNextTip(true) method. */
   void exerciseToExam(); /**< Stops exercising and starts exam. */
   void stopSound(); /**< Common method called by exercises and exams to disable sniffing, lock right button, etc. */
diff --git a/src/main/tmainscoreobject.cpp b/src/main/tmainscoreobject.cpp
index 96f4fe339c428ad1cdf551d07492d891ad21d341..5481cdbd63c3154b4e6b4f67e9bc8610c918b8e4 100644
--- a/src/main/tmainscoreobject.cpp
+++ b/src/main/tmainscoreobject.cpp
@@ -130,8 +130,11 @@ void TmainScoreObject::clearScore() {
   }
   m_questionMark->setVisible(false);
   m_scoreObj->setBgColor(qApp->palette().base().color());
-  if (m_scoreObj->singleNote())
+  if (m_scoreObj->singleNote()) {
     m_scoreObj->note(1)->setTechnical(255);
+    m_scoreObj->note(0)->markNoteHead(Qt::transparent);
+    m_scoreObj->note(1)->markNoteHead(Qt::transparent);
+  }
 }
 
 
@@ -224,6 +227,12 @@ void TmainScoreObject::lockKeySignature(bool lock) {
 }
 
 
+void TmainScoreObject::markNoteHead(const QColor& outColor, int noteNr) {
+  auto note = m_scoreObj->note(noteNr);
+  if (note)
+    note->markNoteHead(outColor);
+}
+
 
 //#################################################################################################
 //###################              PROTECTED           ############################################
diff --git a/src/main/tmainscoreobject.h b/src/main/tmainscoreobject.h
index 572c46764d8cad8da83d621a6551ba3b7fdb5728..2e06121febd457b1cc9d6c54309252981697a1c9 100644
--- a/src/main/tmainscoreobject.h
+++ b/src/main/tmainscoreobject.h
@@ -108,6 +108,7 @@ public:
   void forceAccidental(int accid);
   void unLockScore();
   void lockKeySignature(bool lock);
+  void markNoteHead(const QColor& outColor, int noteNr);
 
 signals:
   void scoreActionsChanged();
diff --git a/src/main/tnameitem.cpp b/src/main/tnameitem.cpp
index 235d1c45abb5dfd5e972fa45aaef379488e30b4d..d1319fa17b1e5a6e70acb70c5b6fb78723132e3f 100644
--- a/src/main/tnameitem.cpp
+++ b/src/main/tnameitem.cpp
@@ -36,7 +36,8 @@ TnameItem* TnameItem::m_instance = nullptr;
 TnameItem::TnameItem(QQuickItem* parent) :
   QQuickItem(parent),
   m_nameStyle(Tnote::e_english_Bb),
-  m_buttonNameStyle(Tnote::e_english_Bb)
+  m_buttonNameStyle(Tnote::e_english_Bb),
+  m_outlineColor(Qt::transparent)
 {
   if (m_instance) {
     qDebug() << "TnameItem instance already exists!";
@@ -236,3 +237,11 @@ void TnameItem::forceAccidental(char accid) {
   m_note.alter = accid;
   emit alterChanged();
 }
+
+
+void TnameItem::setMarkColor(const QColor& outColor) {
+  if (m_outlineColor != outColor) {
+    m_outlineColor = outColor;
+    emit markColorChanged();
+  }
+}
diff --git a/src/main/tnameitem.h b/src/main/tnameitem.h
index 9fc4ffd67310b0f6fd21fc7449f804cc1d490291..07f17cf9831249f28ef2d0700d332abd89c3ce36 100644
--- a/src/main/tnameitem.h
+++ b/src/main/tnameitem.h
@@ -44,6 +44,7 @@ class TnameItem : public QQuickItem
   Q_PROPERTY(QString appendix READ appendix NOTIFY appendixChanged)
   Q_PROPERTY(QColor bgColor READ bgColor NOTIFY bgColorChanged)
   Q_PROPERTY(bool disabled READ disabled WRITE setDisabled NOTIFY disabledChanged)
+  Q_PROPERTY(QColor markColor READ markColor WRITE setMarkColor NOTIFY markColorChanged)
 
 
 public:
@@ -75,6 +76,9 @@ public:
   bool disabled() const { return m_disabled; }
   void setDisabled(bool dis);
 
+  QColor markColor() const { return m_outlineColor; }
+  void setMarkColor(const QColor& outColor);
+
   QString nameText() const;
 
       /**
@@ -106,6 +110,7 @@ signals:
   void buttonNameStyleChanged();
   void disabledChanged();
   void noteButtonClicked();
+  void markColorChanged();
 
 private:
   void changeNameBgColor(const QColor& c) { m_bgColor = c;  emit bgColorChanged(); }
@@ -114,7 +119,7 @@ private:
   Tnote                   m_note;
   Tnote::EnameStyle       m_nameStyle, m_buttonNameStyle;
   QString                 m_appendix;
-  QColor                  m_bgColor;
+  QColor                  m_bgColor, m_outlineColor;
   bool                    m_disabled = false;
 
   static TnameItem       *m_instance;
diff --git a/src/qml/NoteName.qml b/src/qml/NoteName.qml
index 51c708fcd0dd72e87b02e915d37259d27bbad416..c878b5ee2e7876edf30e4d4814aed3a25293d29d 100644
--- a/src/qml/NoteName.qml
+++ b/src/qml/NoteName.qml
@@ -1,5 +1,5 @@
 /** This file is part of Nootka (http://nootka.sf.net)               *
- * Copyright (C) 2017 by Tomasz Bojczuk (seelook@gmail.com)          *
+ * Copyright (C) 2017-2018 by Tomasz Bojczuk (seelook@gmail.com)     *
  * on the terms of GNU GPLv3 license (http://www.gnu.org/licenses)   */
 
 import QtQuick 2.9
@@ -51,6 +51,7 @@ TnameItem {
         y: -noteName.height * 0.17
         text: nameText; color: activPal.text
         height: parent.height
+        style: Text.Outline; styleColor: markColor
         font { pixelSize: height * 0.8; family: "Scorek" }
       }
       Text {