diff --git a/src/com/android/contacts/logging/Logger.java b/src/com/android/contacts/logging/Logger.java
index a290d80..466a222 100644
--- a/src/com/android/contacts/logging/Logger.java
+++ b/src/com/android/contacts/logging/Logger.java
@@ -16,11 +16,11 @@
 package com.android.contacts.logging;
 
 import android.app.Activity;
-import android.app.Application;
 import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.contacts.commonbind.analytics.AnalyticsUtil;
+import com.android.contactsbind.ClearcutLoggerHelper;
 
 /**
  * Logs analytics events.
@@ -29,7 +29,7 @@
     public static final String TAG = "Logger";
 
     public static Logger getInstance() {
-        return null;
+        return ClearcutLoggerHelper.getInstance();
     }
 
     /**
diff --git a/src/com/android/contactsbind/ClearcutLoggerHelper.java b/src/com/android/contactsbind/ClearcutLoggerHelper.java
new file mode 100644
index 0000000..8c7d86b
--- /dev/null
+++ b/src/com/android/contactsbind/ClearcutLoggerHelper.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.contactsbind;
+
+import com.android.contacts.logging.Logger;
+
+/**
+ * No-op clearcut logger implementation.
+ */
+public class ClearcutLoggerHelper extends Logger {
+
+    private static ClearcutLoggerHelper sInstance;
+
+    public static ClearcutLoggerHelper getInstance() {
+        if (sInstance == null) {
+            sInstance = new ClearcutLoggerHelper();
+        }
+        return sInstance;
+    }
+
+    private ClearcutLoggerHelper() {
+    }
+
+    @Override
+    public void logScreenViewImpl(int screenType) {
+    }
+}
