diff --git a/src/utils/BamTools/src/api/BamAlignment.h b/src/utils/BamTools/src/api/BamAlignment.h
index fb1e8722d9fc70bbc118552e209fba44ef2dbc07..81684ecbfa7790203bcb40aa9ab1f0eb12f073d0 100644
--- a/src/utils/BamTools/src/api/BamAlignment.h
+++ b/src/utils/BamTools/src/api/BamAlignment.h
@@ -29,7 +29,7 @@ namespace Internal {
 //! \endcond
 
 // BamAlignment data structure
-struct API_EXPORT BamAlignment {
+class API_EXPORT BamAlignment {
 
     // constructors & destructor
     public:
diff --git a/src/utils/BamTools/src/api/SamHeader.h b/src/utils/BamTools/src/api/SamHeader.h
index 50049947e627a29f5b077cb719b0c1a7874bb75a..869a3478b655797f014046cc2394585d219da153 100644
--- a/src/utils/BamTools/src/api/SamHeader.h
+++ b/src/utils/BamTools/src/api/SamHeader.h
@@ -19,8 +19,8 @@
 
 namespace BamTools {
 
-struct API_EXPORT SamHeader {
-
+class API_EXPORT SamHeader {
+public:
     // ctor & dtor
     SamHeader(const std::string& headerText = "");
     SamHeader(const SamHeader& other);
diff --git a/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h b/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h
index 9218278b6342de7675528a4fdab0ddc773af9c03..a3153346816c7cf52abaefc941ab96b77e230fe7 100644
--- a/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h
+++ b/src/utils/BamTools/src/api/internal/io/TcpSocketEngine_p.h
@@ -30,7 +30,7 @@
 namespace BamTools {
 namespace Internal {
 
-struct TcpSocketEngine {
+class TcpSocketEngine {
 
     // ctors & dtor
     public:
diff --git a/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h b/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h
index 7d0c60aa32e464f1774c882848413d27cd034f8e..3ade4f3b66dd81f15ce9d76cb7ee569789fb2223 100644
--- a/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h
+++ b/src/utils/BamTools/src/api/internal/sam/SamHeaderValidator_p.h
@@ -27,8 +27,8 @@
 namespace BamTools {
 
 class SamHeader;
-class SamReadGroup;
-class SamSequence;
+struct SamReadGroup;
+struct SamSequence;
 
 namespace Internal {
 
diff --git a/src/utils/FileRecordTools/Records/BamRecord.h b/src/utils/FileRecordTools/Records/BamRecord.h
index 022ecb4d94da5f96133c487e774de7ff4377be00..427fcf4f78237aa021b2cde8c0219357f4b8f201 100644
--- a/src/utils/FileRecordTools/Records/BamRecord.h
+++ b/src/utils/FileRecordTools/Records/BamRecord.h
@@ -23,9 +23,25 @@ public:
 
 	BamRecord();
 	virtual const BamRecord &operator=(const BamRecord &);
+
+
+	// This using statement is only being added to supress warning from the CLANG compiler regarding
+	// hidden overriden methods. Though it makes the base class methods available, developers should
+	// not actually call them on a BamRecord object.
+	using Bed6Interval::initFromFile;
+
+
 	bool initFromFile(FileReader *);
 	virtual bool initFromFile(BamFileReader *);
 	virtual void clear();
+
+
+	// As above, this using statement is only being added to supress warning from the CLANG compiler
+	// regarding hidden overriden methods. Though it makes the base class methods available, developers
+	// should not actually call them on a BamRecord object.
+	using Bed6Interval::print;
+
+
 	virtual void print(QuickString &outBuf, int start, int end, RecordKeyList *keyList) const;
 	virtual void print(QuickString &outBuf, RecordKeyList *keyList) const;
 	virtual void print(QuickString &outBuf, const QuickString & start, const QuickString & end, RecordKeyList *keyList) const;