diff --git a/src/Compilers/CSharp/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceTests.cs b/src/Compilers/CSharp/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceTests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5058fa2e027f1fb8919c1db354b8e7fd820371d4
--- /dev/null
+++ b/src/Compilers/CSharp/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceTests.cs
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.CodeAnalysis.CSharp.Syntax;
+using Microsoft.CodeAnalysis.Test.Utilities;
+using Xunit;
+
+namespace Microsoft.CodeAnalysis.CSharp.UnitTests
+{
+ public partial class IOperationTests : SemanticModelTestBase
+ {
+ [CompilerTrait(CompilerFeature.IOperation)]
+ [Fact]
+ public void IInstanceReferenceExpression_SimpleBaseReference()
+ {
+ string source = @"
+using System;
+
+public class C1
+{
+ public virtual void M1() { }
+}
+
+public class C2 : C1
+{
+ public override void M1()
+ {
+ /**/base/**/.M1();
+ }
+}
+";
+ string expectedOperationTree = @"
+IInstanceReferenceExpression (IsBaseReference: True) (OperationKind.InstanceReferenceExpression, Type: C1) (Syntax: 'base')
+";
+ var expectedDiagnostics = DiagnosticDescription.None;
+
+ VerifyOperationTreeAndDiagnosticsForTest(source, expectedOperationTree, expectedDiagnostics);
+ }
+
+ [CompilerTrait(CompilerFeature.IOperation)]
+ [Fact]
+ public void IInstanceReferenceExpression_BaseNoMemberReference()
+ {
+ string source = @"
+using System;
+
+public class C1
+{
+ public virtual void M1()
+ {
+ /**/base/**/.M1();
+ }
+}
+";
+ string expectedOperationTree = @"
+IInstanceReferenceExpression (IsBaseReference: True) (OperationKind.InstanceReferenceExpression, Type: System.Object) (Syntax: 'base')
+";
+ var expectedDiagnostics = new DiagnosticDescription[] {
+ // CS0117: 'object' does not contain a definition for 'M1'
+ // /**/base/**/.M1();
+ Diagnostic(ErrorCode.ERR_NoSuchMember, "M1").WithArguments("object", "M1").WithLocation(8, 35)
+ };
+
+ VerifyOperationTreeAndDiagnosticsForTest(source, expectedOperationTree, expectedDiagnostics);
+ }
+
+
+ }
+}
diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceExpression.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceExpression.vb
new file mode 100644
index 0000000000000000000000000000000000000000..6c454864bde23f539a07a4d425b86455ff0a60e2
--- /dev/null
+++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IInstanceReferenceExpression.vb
@@ -0,0 +1,66 @@
+' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+Imports Microsoft.CodeAnalysis.Test.Utilities
+Imports Microsoft.CodeAnalysis.VisualBasic.Syntax
+
+Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Semantics
+
+ Partial Public Class IOperationTests
+ Inherits SemanticModelTestBase
+
+
+
+ Public Sub IInstanceReferenceExpression_SimpleBaseReference()
+ Dim source = .Value
+
+ Dim expectedOperationTree = .Value
+
+ Dim expectedDiagnostics = String.Empty
+
+ VerifyOperationTreeAndDiagnosticsForTest(Of MyBaseExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
+ End Sub
+
+
+
+ Public Sub IInstanceReferenceExpression_BaseNoMemberReferene()
+ Dim source = .Value
+
+ Dim expectedOperationTree = .Value
+
+ Dim expectedDiagnostics = .Value
+
+ VerifyOperationTreeAndDiagnosticsForTest(Of MyBaseExpressionSyntax)(source, expectedOperationTree, expectedDiagnostics)
+ End Sub
+
+
+
+ End Class
+End Namespace