diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp
index 0fb1cbbf9..8bb895fc8 100644
--- a/qt-models/divelistmodel.cpp
+++ b/qt-models/divelistmodel.cpp
@@ -5,6 +5,7 @@ MobileDive::MobileDive(dive *d)
 {
 	m_thisDive = d;
 	setDiveNumber(QString::number(d->number));
+	setDiveId(QString::number(d->id));
 
 	dive_trip *trip = d->divetrip;
 
@@ -216,6 +217,16 @@ void MobileDive::setupDiveTempDetails()
 	setWatertemp(get_temperature_string(m_thisDive->watertemp, true));
 	setAirTemp(get_temperature_string(m_thisDive->airtemp, true));
 }
+QString MobileDive::diveId() const
+{
+    return m_diveId;
+}
+
+void MobileDive::setDiveId(const QString &diveId)
+{
+    m_diveId = diveId;
+}
+
 
 
 
@@ -283,6 +294,8 @@ QVariant DiveListModel::data(const QModelIndex &index, int role) const
 		return dive.buddy();
 	else if (role == DiveMasterRole)
 		return dive.divemaster();
+	else if (role == DiveIdRole)
+		return dive.diveId();
 	return QVariant();
 
 
@@ -308,6 +321,7 @@ QHash<int, QByteArray> DiveListModel::roleNames() const
 	roles[DiveNotesRole] = "notes";
 	roles[DiveBuddyRole] = "buddy";
 	roles[DiveMasterRole] = "divemaster";
+	roles[DiveIdRole] = "id";
 
 	return roles;
 }
diff --git a/qt-models/divelistmodel.h b/qt-models/divelistmodel.h
index 68f0c6fa7..89f793bbc 100644
--- a/qt-models/divelistmodel.h
+++ b/qt-models/divelistmodel.h
@@ -62,6 +62,9 @@ public:
 	QString watertemp() const;
 	void setWatertemp(const QString &watertemp);
 
+	QString diveId() const;
+	void setDiveId(const QString &diveId);
+
 private:
 	void setupDiveTempDetails();
 
@@ -82,6 +85,7 @@ private:
 	QString m_notes;
 	QString m_buddy;
 	QString m_divemaster;
+	QString m_diveId;
 
 
 	dive *m_thisDive;
@@ -109,7 +113,8 @@ public:
 		DiveLocationRole,
 		DiveNotesRole,
 		DiveBuddyRole,
-		DiveMasterRole
+		DiveMasterRole,
+		DiveIdRole
 	};
 
 	static DiveListModel *instance();