diff --git a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java
index 6b3b134f..9d453090 100644
--- a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java
+++ b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java
@@ -55,6 +55,12 @@ public abstract class RemoteOperation implements Runnable {
 	
     private static final String TAG = RemoteOperation.class.getSimpleName();
 
+    /** OCS API header name */
+    public static final String OCS_API_HEADER = "OCS-APIREQUEST";
+
+    /** OCS API header value */
+    public static final String OCS_API_HEADER_VALUE = "true";
+
     /** ownCloud account in the remote ownCloud server to operate */
     private Account mAccount = null;
     
diff --git a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
index 48ac0d8e..7c97c40e 100644
--- a/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.java
@@ -115,6 +115,8 @@ public class CreateRemoteShareOperation extends RemoteOperation {
 			}
 			post.addParameter(PARAM_PERMISSIONS, Integer.toString(mPermissions));
 
+			post.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
+            
 			status = client.executeMethod(post);
 
 			if(isSuccess(status)) {
diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java
index a17e8a5b..48f8a023 100644
--- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesForFileOperation.java
@@ -96,6 +96,8 @@ public class GetRemoteSharesForFileOperation extends RemoteOperation {
 				    new NameValuePair(PARAM_SUBFILES, String.valueOf(mSubfiles))
 				}); 
 
+			get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
+            
 			status = client.executeMethod(get);
 
 			if(isSuccess(status)) {
diff --git a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java
index 24ca2f5c..d5d10aff 100644
--- a/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/GetRemoteSharesOperation.java
@@ -68,6 +68,7 @@ public class GetRemoteSharesOperation extends RemoteOperation {
 		try{
 			get = new GetMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH);
 			Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH);
+			get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
 			status = client.executeMethod(get);
 			if(isSuccess(status)) {
 				Log.d(TAG, "Obtain RESPONSE");
diff --git a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
index 83e94372..7124eaf1 100644
--- a/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
+++ b/src/com/owncloud/android/lib/resources/shares/RemoveRemoteShareOperation.java
@@ -73,6 +73,8 @@ public class RemoveRemoteShareOperation extends RemoteOperation {
 			delete = new DeleteMethod(client.getBaseUri() + ShareUtils.SHARING_API_PATH + id);
 			Log.d(TAG, "URL ------> " + client.getBaseUri() + ShareUtils.SHARING_API_PATH + id);
 
+			delete.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
+            
 			status = client.executeMethod(delete);
 
 			if(isSuccess(status)) {
diff --git a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java
index 12ab7277..72d53efb 100644
--- a/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java
+++ b/src/com/owncloud/android/lib/resources/users/GetRemoteUserNameOperation.java
@@ -48,10 +48,6 @@ public class GetRemoteUserNameOperation extends RemoteOperation {
 	
 	private static final String TAG = GetRemoteUserNameOperation.class.getSimpleName();
 
-	// HEADER
-	private static final String HEADER_OCS_API = "OCS-APIREQUEST";
-	private static final String HEADER_OCS_API_VALUE = "true";
-
 	// OCS Route
 	private static final String OCS_ROUTE ="/index.php/ocs/cloud/user?format=json"; 
 
@@ -74,18 +70,14 @@ public class GetRemoteUserNameOperation extends RemoteOperation {
 
 	@Override
 	protected RemoteOperationResult run(OwnCloudClient client) {
-        RemoteOperationResult result = null;
-        int status = -1;
-        GetMethod get = null;
-        
-        //Get the user
-        try {
-            get = new GetMethod(client.getWebdavUri() + OCS_ROUTE);
-            //get = new GetMethod(client.getBaseUri() + OCS_ROUTE);	// need to fix the semantics of getBaseUri and getWebdavUri
-            //Log.e(TAG, "Getting OC user information from " + client.getBaseUri() + OCS_ROUTE);
-            //Log.e(TAG, "Getting OC user information from " + client.getWebdavUri() + OCS_ROUTE);
-            // Add the Header
-            get.addRequestHeader(HEADER_OCS_API, HEADER_OCS_API_VALUE);
+		RemoteOperationResult result = null;
+		int status = -1;
+		GetMethod get = null;
+
+		//Get the user
+		try {
+			get = new GetMethod(client.getWebdavUri() + OCS_ROUTE);
+			get.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
 			status = client.executeMethod(get);
 			if(isSuccess(status)) {
 				 String response = get.getResponseBodyAsString();